From f575f11a07d94059785466f7eb624b4fb70d7329 Mon Sep 17 00:00:00 2001 From: "Tiffany Chang (tic)" Date: Wed, 19 Nov 2025 08:49:14 +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: 0419452096dca5abf3b541c45d630e7d38384830 --- locale/sources/administration.pot | 2162 ++-- locale/sources/essentials.pot | 948 +- locale/sources/finance.pot | 5396 +++++---- locale/sources/general.pot | 8 +- locale/sources/hr.pot | 12102 ++++++++++--------- locale/sources/inventory_and_mrp.pot | 4726 ++++---- locale/sources/marketing.pot | 6 +- locale/sources/productivity.pot | 16058 ++++++++++++++----------- locale/sources/sales.pot | 1563 ++- locale/sources/services.pot | 233 +- locale/sources/studio.pot | 462 +- locale/sources/websites.pot | 1984 +-- 12 files changed, 25604 insertions(+), 20044 deletions(-) diff --git a/locale/sources/administration.pot b/locale/sources/administration.pot index 1a83422ecb..d9f0169dfc 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-10-20 14:56+0200\n" +"POT-Creation-Date: 2025-11-19 09:34+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -151,7 +151,7 @@ msgstr "" #: ../../content/administration/hosting.rst:42 #: ../../content/administration/hosting.rst:85 -msgid "Follow the instructions found in :ref:`the Import your database section ` of the Odoo.sh *Create your project* documentation." +msgid "Follow the instructions found in :ref:`the Import a database section ` of the Odoo.sh *Create a project* documentation." msgstr "" #: ../../content/administration/hosting.rst:46 @@ -234,7 +234,7 @@ msgid "Databases are **not reachable** during their migration." msgstr "" #: ../../content/administration/hosting.rst:122 -msgid "Download a :ref:`backup of your Odoo.sh production database `." +msgid "Download a :ref:`backup of your Odoo.sh production database `." msgstr "" #: ../../content/administration/mobile.rst:3 @@ -522,6 +522,7 @@ msgid ":guilabel:`My Apps Dashboard`" msgstr "" #: ../../content/administration/odoo_online.rst:3 +#: ../../content/administration/odoo_sh/getting_started/create.rst:121 #: ../../content/administration/supported_versions.rst:29 #: ../../content/administration/upgrade.rst:14 #: ../../content/administration/upgrade.rst:109 @@ -598,7 +599,7 @@ msgid ":ref:`odoo_online/web-services`" msgstr "" #: ../../content/administration/odoo_online.rst:46 -#: ../../content/administration/odoo_sh/getting_started/branches.rst:293 +#: ../../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 #: ../../content/administration/upgrade.rst:3 @@ -682,7 +683,7 @@ msgid "You can search for tags in the search bar." msgstr "" #: ../../content/administration/odoo_online.rst:114 -#: ../../content/administration/odoo_sh/getting_started/branches.rst:550 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:803 msgid "Delete" msgstr "" @@ -754,7 +755,7 @@ msgstr "" 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." msgstr "" -#: ../../content/administration/odoo_sh.rst:5 +#: ../../content/administration/odoo_sh.rst:6 #: ../../content/administration/supported_versions.rst:30 #: ../../content/administration/upgrade.rst:22 #: ../../content/administration/upgrade.rst:139 @@ -762,6 +763,10 @@ msgstr "" msgid "Odoo.sh" msgstr "" +#: ../../content/administration/odoo_sh.rst:8 +msgid "Odoo.sh is the official cloud platform for hosting and managing Odoo applications. It offers a range of features such as web shell, module dependencies, continuous integration, and SSH access." +msgstr "" + #: ../../content/administration/odoo_sh/advanced.rst:5 msgid "Advanced" msgstr "" @@ -772,13 +777,11 @@ msgstr "" #: ../../content/administration/odoo_sh/advanced/containers.rst:7 #: ../../content/administration/odoo_sh/advanced/submodules.rst:9 -#: ../../content/administration/odoo_sh/getting_started/branches.rst:6 +#: ../../content/administration/odoo_sh/first_module.rst:6 #: ../../content/administration/odoo_sh/getting_started/builds.rst:9 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:6 #: ../../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 -#: ../../content/administration/odoo_sh/overview.rst:5 msgid "Overview" msgstr "" @@ -1101,8 +1104,8 @@ msgstr "" #: ../../content/administration/odoo_sh/advanced/submodules.rst:82 #: ../../content/administration/odoo_sh/advanced/submodules.rst:94 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:360 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:499 +#: ../../content/administration/odoo_sh/first_module.rst:362 +#: ../../content/administration/odoo_sh/first_module.rst:501 msgid "Replace" msgstr "" @@ -1142,1508 +1145,2032 @@ msgstr "" msgid "If you're adding a repository that contains a lot of modules, you may want to ignore some of them in case there are any that are installed automatically. To do so, you can prefix your submodule folder with a :code:`.`. The platform will ignore this folder and you can hand pick your modules by creating symlinks to them from another folder." msgstr "" -#: ../../content/administration/odoo_sh/getting_started.rst:5 -msgid "Get started" +#: ../../content/administration/odoo_sh/first_module.rst:3 +msgid "Your first module" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:3 -msgid "Branches" +#: ../../content/administration/odoo_sh/first_module.rst:8 +msgid "This chapter helps you to create your first Odoo module and deploy it in your Odoo.sh project." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:8 -msgid "The branches view gives you an overview of the different branches your repository has." +#: ../../content/administration/odoo_sh/first_module.rst:10 +msgid "This tutorial requires you created a project on Odoo.sh, and you know your Github repository's URL." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:16 -#: ../../content/administration/odoo_sh/getting_started/builds.rst:41 -msgid "Stages" +#: ../../content/administration/odoo_sh/first_module.rst:13 +msgid "Basic use of Git and Github is explained." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:18 -msgid "Odoo.sh offers three different stages for your branches: production, staging and development." +#: ../../content/administration/odoo_sh/first_module.rst:15 +msgid "The below assumptions are made:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:20 -msgid "You can change the stage of a branch by drag and dropping it into the stage section title." +#: ../../content/administration/odoo_sh/first_module.rst:17 +msgid "*~/src* is the directory where are located the Git repositories related to your Odoo projects," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:28 -#: ../../content/administration/odoo_sh/getting_started/builds.rst:44 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:132 -msgid "Production" +#: ../../content/administration/odoo_sh/first_module.rst:18 +msgid "*odoo* is the Github user," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:30 -msgid "This is the branch holding the code on which your production database runs. There can be only one production branch." +#: ../../content/administration/odoo_sh/first_module.rst:19 +msgid "*odoo-addons* is the Github repository," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:33 -msgid "When you push a new commit in this branch, your production server is updated with the code of the new revision and is then restarted." +#: ../../content/administration/odoo_sh/first_module.rst:20 +msgid "*feature-1* is the name of a development branch," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:36 -msgid "If your changes require the update of a module, such as a change in a form view, and you want it to be performed automatically, increase the version number of the module in its manifest (*__manifest__.py*). The platform will then take care to perform the update during which the instance will be held temporarily unavailable for maintenance reason." +#: ../../content/administration/odoo_sh/first_module.rst:21 +msgid "*master* is the name of the production branch," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:43 -msgid "This method is equivalent to perform an upgrade of the module through the Apps menu, or through the :code:`-u` switch of :doc:`the command line `." +#: ../../content/administration/odoo_sh/first_module.rst:22 +msgid "*my_module* is the name of the module." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:47 -msgid "In the case the changes in the commit prevent the server to restart, or if the modules update fails, the server is automatically reverted to the previous successful code revision and the database is roll-backed as it was before the update. You still have access to the log of the failed update, so you can troubleshoot it." +#: ../../content/administration/odoo_sh/first_module.rst:24 +msgid "Replace these by the values of your choice." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:53 -msgid "The demo data is not loaded, as it is not meant to be used in a production database. The unit tests are not performed, as it would increase the unavailability time of the production database during the updates." +#: ../../content/administration/odoo_sh/first_module.rst:27 +msgid "Create the development branch" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:57 -msgid "Partners using trial projects should be aware their production branch, along with all the staging branches, will automatically be set back to the development stage after 30 days." +#: ../../content/administration/odoo_sh/first_module.rst:30 +msgid "From Odoo.sh" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:61 -#: ../../content/administration/odoo_sh/getting_started/builds.rst:63 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:87 -msgid "Staging" +#: ../../content/administration/odoo_sh/first_module.rst:32 +msgid "In the branches view:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:63 -msgid "Staging branches are meant to test your new features using the production data without compromising the actual production database with test records. They will create databases that are neutralized duplicates of the production database." +#: ../../content/administration/odoo_sh/first_module.rst:34 +msgid "hit the :code:`+` button next to the development stage," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:67 -msgid "The neutralization includes:" +#: ../../content/administration/odoo_sh/first_module.rst:35 +msgid "choose the branch *master* in the *Fork* selection," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:69 -msgid "Disabling scheduled actions. If you want to test them, you can trigger their action manually or re-enable them. Be aware that the platform will trigger them less often if no one is using the database in order to save up resources." +#: ../../content/administration/odoo_sh/first_module.rst:36 +msgid "type *feature-1* in the *To* input." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:72 -msgid "Disabling outgoing emails by intercepting them with a mailcatcher. An :ref:`interface to view ` the emails sent by your database is provided. That way, you do not have to worry about sending test emails to your contacts." +#: ../../content/administration/odoo_sh/first_module.rst:38 +msgid "|pic1| |pic2|" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:75 -msgid "Setting payment providers and shipping providers in test mode." +#: ../../content/administration/odoo_sh/first_module.rst:40 +#: ../../content/administration/odoo_sh/first_module.rst:40 +msgid "pic1" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:76 -msgid "Disabling IAP services" +#: ../../content/administration/odoo_sh/first_module.rst:43 +#: ../../content/administration/odoo_sh/first_module.rst:43 +msgid "pic2" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:78 -msgid "The latest database will be kept alive indefinitely, older ones from the same branch may get garbage collected to make room for new ones. It will be valid for 3 months, after which you will be expected to rebuild the branch. If you make configuration or view changes in these databases, make sure to document them or write them directly in the modules of the branch, using XML data files overriding the default configuration or views." +#: ../../content/administration/odoo_sh/first_module.rst:46 +msgid "Once the build created, you can access the editor and browse to the folder *~/src/user* to access to the code of your development branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:83 -msgid "The unit tests are not performed as, in Odoo, they currently rely on the demo data, which is not loaded in the production database. In the future, if Odoo supports to run the unit tests without the demo data, Odoo.sh will then consider running the tests on staging databases." +#: ../../content/administration/odoo_sh/first_module.rst:56 +msgid "From your computer" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:88 -#: ../../content/administration/odoo_sh/getting_started/builds.rst:81 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:57 -msgid "Development" +#: ../../content/administration/odoo_sh/first_module.rst:58 +msgid "Clone your Github repository on your computer:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:90 -msgid "Development branches create new databases using the demo data to run the unit tests. The installed modules are the ones included in your branches. You can change this list of modules to install in your :ref:`project Settings `." +#: ../../content/administration/odoo_sh/first_module.rst:67 +msgid "Create a new branch:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:94 -msgid "When you push a new commit in one of these branches, a new server is started, with a database created from scratch and the new revision of the branch. The demo data is loaded, and the unit tests are performed by default. This verifies your changes do not break any of the features tested by them. If you wish, you can disable the tests or allow specific tests to be run with custom tags in the :ref:`branch's settings `." +#: ../../content/administration/odoo_sh/first_module.rst:74 +msgid "Create the module structure" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:101 -msgid "Similar to staging branches, the emails are not sent but are intercepted by a mailcatcher and scheduled actions are not triggered as long as the database is not in use." +#: ../../content/administration/odoo_sh/first_module.rst:77 +msgid "Scaffolding the module" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:104 -msgid "The databases created for development branches are meant to live around three days. After that, they can be automatically garbage collected to make room for new databases without prior notice." +#: ../../content/administration/odoo_sh/first_module.rst:79 +msgid "While not necessary, scaffolding avoids the tedium of setting the basic Odoo module structure. You can scaffold a new module using the executable *odoo-bin*." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:110 -msgid "Merging your branches" +#: ../../content/administration/odoo_sh/first_module.rst:82 +msgid "From the Odoo.sh editor, in a terminal:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:112 -msgid "You can merge your branches easily by drag and dropping them into each other." +#: ../../content/administration/odoo_sh/first_module.rst:88 +msgid "Or, from your computer, if you have an installation of Odoo:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:117 -msgid "When you want to test the changes of your development branches with the production data, you can either:" +#: ../../content/administration/odoo_sh/first_module.rst:94 +msgid "If you do not want to bother installing Odoo on your computer, you can also :download:`download this module structure template ` in which you replace every occurrences of *my_module* to the name of your choice." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:120 -msgid "merge the development branch into your staging branch, by drag and dropping it onto the desired staging branch," +#: ../../content/administration/odoo_sh/first_module.rst:98 +msgid "The below structure will be generated:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:121 -msgid "drag and dropping the development branch on the staging section title, to make it become a staging branch." +#: ../../content/administration/odoo_sh/first_module.rst:121 +msgid "Do not use special characters other than the underscore ( _ ) for your module name, not even an hyphen ( - ). This name is used for the Python classes of your module, and having classes name with special characters other than the underscore is not valid in Python." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:123 -msgid "When your latest changes are ready for production, you can drag and drop your staging branch onto your production branch to merge and deploy in production your newest features." +#: ../../content/administration/odoo_sh/first_module.rst:125 +msgid "Uncomment the content of the files:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:127 -msgid "If you are bold enough, you can merge your development branches into your production branch as well. It just means you skip the validation of your changes with the production data through a staging branch." +#: ../../content/administration/odoo_sh/first_module.rst:127 +msgid "*models/models.py*, an example of model with its fields," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:131 -msgid "You can merge your development branches into each other, and your staging branches into each other." +#: ../../content/administration/odoo_sh/first_module.rst:129 +msgid "*views/views.xml*, a tree and a form view, with the menus opening them," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:133 -msgid "Of course, you can also use :code:`git merge` directly on your workstation to merge your branches. Odoo.sh will be notified when new revisions have been pushed in your branches." +#: ../../content/administration/odoo_sh/first_module.rst:131 +msgid "*demo/demo.xml*, demo records for the above example model," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:136 -msgid "Merging a staging branch in the production branch only merges the source code: Any configuration changes you made in the staging databases are not passed to the production database." +#: ../../content/administration/odoo_sh/first_module.rst:133 +msgid "*controllers/controllers.py*, an example of controller implementing some routes," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:139 -msgid "If you test configuration changes in staging branches, and want them to be applied in the production, you have to either:" +#: ../../content/administration/odoo_sh/first_module.rst:135 +msgid "*views/templates.xml*, two example qweb views used by the above controller routes," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:141 -msgid "write the configuration changes in XML data files overriding the default configuration or views in your branches, and then increase the version of your module in its manifest (*__manifest__.py*) to trigger the update of the module when you merge your staging branch in your production branch. This is the best practice for a better scalability of your developments as you will use the Git versioning features for all your configuration changes, and therefore have a traceability for your changes." +#: ../../content/administration/odoo_sh/first_module.rst:137 +msgid "*__manifest__.py*, the manifest of your module, including for instance its title, description and data files to load. You just need to uncomment the access control list data file:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:147 -msgid "pass them manually from your staging to your production database, by copy/pasting them." +#: ../../content/administration/odoo_sh/first_module.rst:146 +msgid "Manually" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:152 -msgid "Tabs" +#: ../../content/administration/odoo_sh/first_module.rst:148 +msgid "If you want to create your module structure manually, you can follow the :doc:`/developer/tutorials/server_framework_101` tutorial to understand the structure of a module and the content of each file." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:155 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:58 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:88 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:133 -msgid "History" +#: ../../content/administration/odoo_sh/first_module.rst:153 +msgid "Push the development branch" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:157 -msgid "An overview of your branch history:" +#: ../../content/administration/odoo_sh/first_module.rst:155 +msgid "Stage the changes to be committed" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:159 -msgid "The messages of the commits and their authors," +#: ../../content/administration/odoo_sh/first_module.rst:161 +#: ../../content/administration/odoo_sh/first_module.rst:397 +msgid "Commit your changes" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:160 -msgid "The various events linked to the platform, such as stage changes, database imports, backup restores." +#: ../../content/administration/odoo_sh/first_module.rst:167 +msgid "Push your changes to your remote repository" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:165 -msgid "For each event, a status is displayed in the top right-hand corner. It can provide information about the ongoing operation on the database (installation, update, backup import, ...), or its result (tests feedback, successful backup import, ...). When an operation is successful, you can access the database thanks to the *connect* button." +#: ../../content/administration/odoo_sh/first_module.rst:169 +msgid "From an Odoo.sh editor terminal:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:173 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:78 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:108 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:153 -msgid "Mails" +#: ../../content/administration/odoo_sh/first_module.rst:175 +msgid "The above command is explained in the section :ref:`Commit & Push your changes ` of the :ref:`Online Editor ` chapter. It includes the explanation regarding the fact you will be prompted to type your username and password, and what to do if you use the two-factor authentication." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:175 -msgid "This tab contains the mail catcher. It displays an overview of the emails sent by your database. The mail catcher is available for your development and staging branches as the emails of your production database are really sent instead of being intercepted." +#: ../../content/administration/odoo_sh/first_module.rst:183 +#: ../../content/administration/odoo_sh/first_module.rst:385 +#: ../../content/administration/odoo_sh/first_module.rst:411 +msgid "Or, from your computer terminal:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:184 -msgid "Shell" +#: ../../content/administration/odoo_sh/first_module.rst:189 +msgid "You need to specify *-u origin feature-1* for the first push only. From that point, to push your future changes from your computer, you can simply use" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:186 -msgid "A shell access to your container. You can perform basic linux commands (:code:`ls`, :code:`top`) and open a shell on your database by typing :code:`psql`." +#: ../../content/administration/odoo_sh/first_module.rst:197 +msgid "Test your module" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:192 -#: ../../content/administration/odoo_sh/getting_started/branches.rst:208 -msgid "You can open multiple tabs and drag-and-drop them to arrange the layout as you wish, for instance side by side." +#: ../../content/administration/odoo_sh/first_module.rst:199 +msgid "Your branch should appear in your development branches in your project." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:196 -msgid "Long running shell instances are not guaranteed. Idle shells can be disconnected at anytime in order to free up resources." +#: ../../content/administration/odoo_sh/first_module.rst:204 +msgid "In the branches view of your project, you can click on your branch name in the left navigation panel to access its history." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:200 -msgid "Editor" +#: ../../content/administration/odoo_sh/first_module.rst:210 +msgid "You can see here the changes you just pushed, including the comment you set. Once the database ready, you can access it by clicking the *Connect* button." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:202 -msgid "An online integrated development environment (IDE) to edit the source code. You can also open terminals, Python consoles and even Odoo Shell consoles." +#: ../../content/administration/odoo_sh/first_module.rst:216 +msgid "If your Odoo.sh project is configured to install your module automatically, you will directly see it amongst the database apps. Otherwise, it will be available in the apps to install." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:212 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:113 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:158 -msgid "Monitoring" +#: ../../content/administration/odoo_sh/first_module.rst:220 +msgid "You can then play around with your module, create new records and test your features and buttons." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:214 -msgid "This link contains various monitoring metrics of the current build." +#: ../../content/administration/odoo_sh/first_module.rst:223 +msgid "Test with the production data" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:219 -msgid "You can zoom, change the time range or select a specific metric on each graph. On the graphs, annotations help you relate to changes on the build (database import, git push, etc...)." +#: ../../content/administration/odoo_sh/first_module.rst:225 +msgid "You need to have a production database for this step. You can create it if you do not have it yet." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:225 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:68 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:98 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:143 -msgid "Logs" +#: ../../content/administration/odoo_sh/first_module.rst:227 +msgid "Once you tested your module in a development build with the demo data and believe it is ready, you can test it with the production data using a staging branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:227 -msgid "A viewer to have a look to your server logs." +#: ../../content/administration/odoo_sh/first_module.rst:230 +msgid "You can either:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:232 -msgid "Different logs are available:" +#: ../../content/administration/odoo_sh/first_module.rst:232 +msgid "Make your development branch a staging branch, by drag and dropping it onto the *staging* section title." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:234 -msgid "install.log: The logs of the database installation. In a development branch, the logs of the tests are included." +#: ../../content/administration/odoo_sh/first_module.rst:238 +msgid "Merge it in an existing staging branch, by drag and dropping it onto the given staging branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:235 -msgid "pip.log: The logs of the Python dependencies installation." +#: ../../content/administration/odoo_sh/first_module.rst:243 +#: ../../content/administration/odoo_sh/first_module.rst:289 +msgid "You can also use the :code:`git merge` command to merge your branches." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:236 -msgid "odoo.log: The logs of the running server." +#: ../../content/administration/odoo_sh/first_module.rst:245 +msgid "This will create a new staging build, which will duplicate the production database and make it run using a server updated with your latest changes of your branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:237 -msgid "update.log: The logs of the database updates." +#: ../../content/administration/odoo_sh/first_module.rst:251 +#: ../../content/administration/odoo_sh/first_module.rst:297 +msgid "Once the database ready, you can access it using the *Connect* button." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:238 -msgid "pg_long_queries.log: The logs of psql queries that take an unusual amount of time." +#: ../../content/administration/odoo_sh/first_module.rst:256 +#: ../../content/administration/odoo_sh/first_module.rst:300 +msgid "Install your module" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:240 -msgid "If new lines are added in the logs, they will be displayed automatically. If you scroll to the bottom, the browser will scroll automatically each time a new line is added." +#: ../../content/administration/odoo_sh/first_module.rst:258 +msgid "Your module will not be installed automatically, you have to install it from the apps menu. Indeed, the purpose of the staging build is to test the behavior of your changes as it would be on your production, and on your production you would not like your module to be installed automatically, but on demand." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:243 -msgid "You can pause the logs fetching by clicking on the according button in the upper right corner of the view. The fetching is automatically stopped after 5 minutes. You can restart it using the play button." +#: ../../content/administration/odoo_sh/first_module.rst:263 +msgid "Your module may not appear directly in your apps to install either, you need to update your apps list first:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:249 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:118 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:163 -msgid "Backups" +#: ../../content/administration/odoo_sh/first_module.rst:266 +msgid "Activate the :ref:`developer mode `" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:251 -msgid "A list of the backups available for download and restore, the ability to perform a manual backup and to import a database." +#: ../../content/administration/odoo_sh/first_module.rst:267 +msgid "in the apps menu, click the *Update Apps List* button," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:257 -msgid "Odoo.sh makes daily backups of the production database. It keeps 7 daily, 4 weekly and 3 monthly backups. Each backup includes the database dump, the filestore (attachments, binary fields), logs and sessions." +#: ../../content/administration/odoo_sh/first_module.rst:268 +msgid "in the dialog that appears, click the *Update* button." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:260 -msgid "Staging and development databases are not backed up. You nevertheless have the possibility to restore a backup of the production database in your staging branches, for testing purposes, or to manually recover data that has been deleted by accident from the production database." +#: ../../content/administration/odoo_sh/first_module.rst:273 +msgid "Your module will then appear in the list of available apps." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:264 -msgid "The list contains the backups kept on the server your production database is hosted on. This server only keeps one month of backups: 7 daily and 4 weekly backups." +#: ../../content/administration/odoo_sh/first_module.rst:279 +msgid "Deploy in production" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:267 -msgid "Dedicated backup servers keep the same backups, as well as 3 additional monthly backups. To restore or download one of these monthly backups, please `contact us `_." +#: ../../content/administration/odoo_sh/first_module.rst:281 +msgid "Once you tested your module in a staging branch with your production data, and believe it is ready for production, you can merge your branch in the production branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:270 -msgid "If you merge a commit updating the version of one or several modules (in :file:`__manifest__.py`), or their linked python dependencies (in :file:`requirements.txt`), then Odoo.sh performs a backup automatically (flagged with type Update in the list), as either the container will be changed by the installation of new pip packages, either the database itself will be changed with the module update triggered afterwards. In these two cases, we are doing a backup as it may potentially break things." +#: ../../content/administration/odoo_sh/first_module.rst:284 +msgid "Drag and drop your staging branch on the production branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:276 -msgid "If you merge a commit that only changes some code without the above-mentioned modifications, then no backup is done by Odoo.sh, as neither the container nor the database is modified so the platform considers this safe enough. Of course, as an extra precaution, you can make a backup manually before making big changes in your production sources in case something goes wrong (those manual backups are available for about one week). To avoid abuse, we limit manual backups to 5 per day." +#: ../../content/administration/odoo_sh/first_module.rst:291 +msgid "This will merge the latest changes of your staging branch in the production branch, and update your production server with these latest changes." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:282 -msgid "The *import database* feature accepts database archives in the format provided by:" +#: ../../content/administration/odoo_sh/first_module.rst:302 +msgid "Your module will not be installed automatically, you have to install it manually as explained in the :ref:`above section about installing your module in staging databases `." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:284 -msgid "the standard Odoo databases manager, (available for on-premise Odoo servers under :code:`/web/database/manager`)" +#: ../../content/administration/odoo_sh/first_module.rst:310 +msgid "Add a change" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:286 -msgid "the Odoo online databases manager," +#: ../../content/administration/odoo_sh/first_module.rst:312 +msgid "This section explains how to add a change in your module by adding a new field in a model and deploy it." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:287 -msgid "the Odoo.sh backup download button of this *Backups* tab," +#: ../../content/administration/odoo_sh/first_module.rst:317 +msgid "From the Odoo.sh editor," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:288 -msgid "the Odoo.sh dump download button in the :ref:`Builds view `." +#: ../../content/administration/odoo_sh/first_module.rst:316 +msgid "browse to your module folder *~/src/user/my_module*," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:295 -msgid "Available for production and staging branches for valid projects." +#: ../../content/administration/odoo_sh/first_module.rst:317 +msgid "then, open the file *models/models.py*." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:298 -msgid ":doc:`Upgrade documentation <../../upgrade>`" +#: ../../content/administration/odoo_sh/first_module.rst:323 +msgid "Or, from your computer," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:303 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:3 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:83 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:128 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:173 -#: ../../content/administration/odoo_sh/getting_started/settings.rst:182 -msgid "Settings" +#: ../../content/administration/odoo_sh/first_module.rst:320 +msgid "use the file browser of your choice to browse to your module folder *~/src/odoo-addons/my_module*," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:305 -msgid "Here you can find a couple of settings that only apply to the currently selected branch." +#: ../../content/administration/odoo_sh/first_module.rst:322 +msgid "then, open the file *models/models.py* using the editor of your choice, such as *Atom*, *Sublime Text*, *PyCharm*, *vim*, ..." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:310 -msgid "**Behaviour upon new commit**" +#: ../../content/administration/odoo_sh/first_module.rst:325 +msgid "Then, after the description field" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:312 -msgid "For development and staging branches, you can change the branch's behavior upon receiving a new commit. By default, a development branch will create a new build and a staging branch will update the previous build (see the :ref:`Production Stage `). This is especially useful should the feature you're working on require a particular setup or configuration, to avoid having to manually set it up again on every commit. If you choose new build for a staging branch, it will make a fresh copy from the production build every time a commit is pushed. A branch that is put back from staging to development will automatically be set to 'Do nothing'." +#: ../../content/administration/odoo_sh/first_module.rst:331 +msgid "Add a datetime field" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:320 -msgid "**Modules installation**" +#: ../../content/administration/odoo_sh/first_module.rst:337 +msgid "Then, open the file *views/views.xml*." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:322 -msgid "Choose the modules to install automatically for your development builds." +#: ../../content/administration/odoo_sh/first_module.rst:339 +#: ../../content/administration/odoo_sh/first_module.rst:475 +msgid "After" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:327 -msgid "*Install only my modules* will install the modules of the branch only. This is the default option. The :ref:`submodules ` are excluded." +#: ../../content/administration/odoo_sh/first_module.rst:345 +#: ../../content/administration/odoo_sh/first_module.rst:452 +#: ../../content/administration/odoo_sh/first_module.rst:469 +#: ../../content/administration/odoo_sh/first_module.rst:481 +msgid "Add" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:329 -msgid "*Full installation (all modules)* will install the modules of the branch, the modules included in the submodules and all standard modules of Odoo. When running the full installation, the test suite is disabled." +#: ../../content/administration/odoo_sh/first_module.rst:351 +msgid "These changes alter the database structure by adding a column in a table, and modify a view stored in database." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:331 -msgid "*Install a list of modules* will install the modules specified in the input just below this option. The names are the technical name of the modules, and they must be comma-separated." +#: ../../content/administration/odoo_sh/first_module.rst:354 +msgid "In order to be applied in existing databases, such as your production database, these changes requires the module to be updated." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:334 -msgid "If the tests are enabled, the standard Odoo modules suite can take up to 1 hour. This setting applies to development builds only. Staging builds duplicate the production build and the production build only installs base." +#: ../../content/administration/odoo_sh/first_module.rst:357 +msgid "If you would like the update to be performed automatically by the Odoo.sh platform when you push your changes, increase your module version in its manifest." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:339 -msgid "**Test suite**" +#: ../../content/administration/odoo_sh/first_module.rst:360 +msgid "Open the module manifest *__manifest__.py*." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:341 -msgid "For development branches, you can choose to enable or disable the test suite. It's enabled by default. When the test suite is enabled, you can restrict them by specifying test tags :ref:`test tags `." +#: ../../content/administration/odoo_sh/first_module.rst:368 +#: ../../content/administration/odoo_sh/first_module.rst:507 +msgid "with" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:345 -msgid "**Odoo Version**" +#: ../../content/administration/odoo_sh/first_module.rst:374 +msgid "The platform will detect the change of version and trigger the update of the module upon the new revision deployment." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:347 -msgid "For development branches only, you can change the version of Odoo, should you want to test upgraded code or develop features while your production database is in the process of being upgraded to a newer version." +#: ../../content/administration/odoo_sh/first_module.rst:377 +msgid "Browse to your Git folder." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:350 -msgid "In addition, for each version you have two options regarding the code update." +#: ../../content/administration/odoo_sh/first_module.rst:379 +msgid "Then, from an Odoo.sh terminal:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:352 -msgid "You can choose to benefit from the latest bug, security and performance fixes automatically. The sources of your Odoo server will be updated weekly. This is the 'Latest' option." +#: ../../content/administration/odoo_sh/first_module.rst:391 +msgid "Then, stage your changes to be committed" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:354 -msgid "You can choose to pin the Odoo sources to a specific revision by selecting them from a list of dates. Revisions will expire after 3 months. You will be notified by mail when the expiration date approaches and if you don't take action afterwards, you will automatically be set to the latest revision." +#: ../../content/administration/odoo_sh/first_module.rst:403 +msgid "Push your changes:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:359 -msgid "**Custom domains**" +#: ../../content/administration/odoo_sh/first_module.rst:405 +msgid "From an Odoo.sh terminal:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:361 -msgid "Here you can configure additional domains for the selected branch. It's possible to add other *.odoo.com* domains or your own custom domains. For the latter you have to:" +#: ../../content/administration/odoo_sh/first_module.rst:417 +msgid "The platform will then create a new build for the branch *feature-1*." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:364 -msgid "own or purchase the domain name," +#: ../../content/administration/odoo_sh/first_module.rst:422 +msgid "Once you tested your changes, you can merge your changes in the production branch, for instance by drag-and-dropping the branch on the production branch in the Odoo.sh interface. As you increased the module version in the manifest, the platform will update the module automatically and your new field will be directly available. Otherwise you can manually update the module within the apps list." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:365 -msgid "add the domain name in this list," +#: ../../content/administration/odoo_sh/first_module.rst:428 +msgid "Use an external Python library" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:366 -msgid "in your registrar's domain name manager, configure the domain name with a ``CNAME`` record set to your production database domain name." +#: ../../content/administration/odoo_sh/first_module.rst:430 +msgid "If you would like to use an external Python library which is not installed by default, you can define a *requirements.txt* file listing the external libraries your modules depends on." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:369 -msgid "For instance, to associate *www.mycompany.com* to your database *mycompany.odoo.com*:" +#: ../../content/administration/odoo_sh/first_module.rst:434 +msgid "It is not possible to install or upgrade system packages on an Odoo.sh database (e.g., apt packages). However, under specific conditions, packages can be considered for installation. This also applies to **Python modules** requiring system packages for their compilation, and **third-party Odoo modules**." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:371 -msgid "in Odoo.sh, add *www.mycompany.com* in the custom domains of your project settings," +#: ../../content/administration/odoo_sh/first_module.rst:438 +msgid "**PostgreSQL extensions** are not supported on Odoo.sh." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:372 -msgid "in your domain name manager (e.g. *godaddy.com*, *gandi.net*, *ovh.com*), configure *www.mycompany.com* with a ``CNAME`` record with as value *mycompany.odoo.com*." +#: ../../content/administration/odoo_sh/first_module.rst:439 +msgid "For more information, consult our `FAQ `_." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:375 -msgid "Bare domains (e.g. *mycompany.com*) are not accepted:" +#: ../../content/administration/odoo_sh/first_module.rst:441 +msgid "The platform will use this file to automatically install the Python libraries your project needs." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:377 -msgid "they can only be configured using ``A`` records," +#: ../../content/administration/odoo_sh/first_module.rst:443 +msgid "The feature is explained in this section by using the `Unidecode library `_ in your module." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:378 -msgid "``A`` records only accept IP addresses as value," +#: ../../content/administration/odoo_sh/first_module.rst:446 +msgid "Create a file *requirements.txt* in the root folder of your repository" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:379 -msgid "the IP address of your database can change, following an upgrade, a hardware failure or your wish to host your database in another country or continent." +#: ../../content/administration/odoo_sh/first_module.rst:448 +msgid "From the Odoo.sh editor, create and open the file ~/src/user/requirements.txt." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:382 -msgid "Therefore, bare domains could suddenly no longer work because of this change of IP address." +#: ../../content/administration/odoo_sh/first_module.rst:450 +msgid "Or, from your computer, create and open the file ~/src/odoo-addons/requirements.txt." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:384 -msgid "In addition, if you would like both *mycompany.com* and *www.mycompany.com* to work with your database, having the first redirecting to the second is amongst the `SEO best practices `_ (See *Provide one version of a URL to reach a document*) in order to have one dominant URL. You can therefore just configure *mycompany.com* to redirect to *www.mycompany.com*. Most domain managers have the feature to configure this redirection. This is commonly called a web redirection." +#: ../../content/administration/odoo_sh/first_module.rst:458 +msgid "Then use the library in your module, for instance to remove accents from characters in the name field of your model." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:391 -msgid "**HTTPS/SSL**" +#: ../../content/administration/odoo_sh/first_module.rst:461 +msgid "Open the file *models/models.py*." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:393 -msgid "If the redirection is correctly set up, the platform will automatically generate an SSL certificate with `Let's Encrypt `_ within the hour and your domain will be accessible through HTTPS." +#: ../../content/administration/odoo_sh/first_module.rst:463 +msgid "Before" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:397 -msgid "While it is currently not possible to configure your own SSL certificates on the Odoo.sh platform we are considering the feature if there is enough demand." +#: ../../content/administration/odoo_sh/first_module.rst:497 +msgid "Adding a Python dependency requires a module version increase for the platform to install it." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:401 -msgid "**SPF and DKIM compliance**" +#: ../../content/administration/odoo_sh/first_module.rst:499 +msgid "Edit the module manifest *__manifest__.py*" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:403 -msgid "In case the domain of your users email addresses use SPF (Sender Policy Framework) or DKIM (DomainKeys Identified Mail), don't forget to authorize Odoo as a sending host in your domain name settings to increase the deliverability of your outgoing emails. The configuration steps are explained in the documentation about :ref:`SPF ` and :ref:`DKIM `." +#: ../../content/administration/odoo_sh/first_module.rst:513 +msgid "Stage and commit your changes:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:410 -msgid "Forgetting to configure your SPF or DKIM to authorize Odoo as a sending host can lead to the delivery of your emails as spam in your contacts inbox." +#: ../../content/administration/odoo_sh/first_module.rst:521 +msgid "Then, push your changes:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:414 -msgid "Shell commands" +#: ../../content/administration/odoo_sh/first_module.rst:523 +msgid "In an Odoo.sh terminal:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:416 -msgid "In the top right-hand corner of the view, different shell commands are available." +#: ../../content/administration/odoo_sh/first_module.rst:529 +msgid "In your computer terminal:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:421 -msgid "Each command can be copied in the clipboard to be used in a terminal, and some of them can be used directly from Odoo.sh by clicking the *run* button in such case a popup will prompt the user in order to define eventual placeholders such as ````, ````, ..." +#: ../../content/administration/odoo_sh/getting_started.rst:5 +msgid "Getting started" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:427 -msgid "Clone" +#: ../../content/administration/odoo_sh/getting_started.rst:8 +msgid "Main components" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:429 -msgid "Download the Git repository." +#: ../../content/administration/odoo_sh/getting_started.rst:10 +msgid "When working with Odoo.sh, it is important to understand the main components involved. While they are all interconnected, each one plays a distinct role in the development and deployment of Odoo applications:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:435 -msgid "Clones the repository *odoo/odoo*." +#: ../../content/administration/odoo_sh/getting_started.rst:14 +msgid "**GitHub repository**: a version-controlled space where the Odoo applications' source code is stored. It tracks every change, supports collaboration, and can be either public or private." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:437 -msgid ":code:`--recurse-submodules`: Downloads the submodules of your repository. Submodules included in the submodules are downloaded as well." +#: ../../content/administration/odoo_sh/getting_started.rst:0 +msgid "Example of a GitHub repository" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:438 -msgid ":code:`--branch`: checks out a specific branch of the repository, in this case *master*." +#: ../../content/administration/odoo_sh/getting_started.rst:20 +msgid "**Odoo.sh project**: a Platform as a Service (PaaS) that integrates with GitHub and enables streamlined development, testing, and deployment of Odoo applications. It includes tools such as automated backups, staging environments, and continuous integration pipelines." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:440 -msgid "The *run* button is not available for this command, as it is meant to be used on your machines." +#: ../../content/administration/odoo_sh/getting_started.rst:0 +msgid "Example of an Odoo.sh project" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:443 -msgid "Fork" +#: ../../content/administration/odoo_sh/getting_started.rst:27 +msgid "**Odoo database**: a database stores all the operational data used and generated by Odoo applications, such as business records, configurations, and user data." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:445 -msgid "Create a new branch based on the current branch." +#: ../../content/administration/odoo_sh/getting_started.rst:0 +msgid "Example of an Odoo database" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:451 -msgid "Creates a new branch called *feature-1* based on the branch *master*, and then checkouts it." +#: ../../content/administration/odoo_sh/getting_started.rst:33 +msgid "Together, they form a cohesive pipeline from code development to a live business use." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:457 -msgid "Uploads the new branch *feature-1* on your remote repository." +#: ../../content/administration/odoo_sh/getting_started.rst:36 +msgid "User types" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:460 -msgid "Merge" +#: ../../content/administration/odoo_sh/getting_started.rst:38 +msgid "Odoo.sh involves different types of users, each with a specific role in the project lifecycle:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:462 -msgid "Merge the current branch in another branch." +#: ../../content/administration/odoo_sh/getting_started.rst:40 +msgid "GitHub users: developers with access to the GitHub repository linked to the Odoo.sh project. Access to the repository does not automatically make someone a collaborator on the Odoo.sh project." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:468 -msgid "Merges the branch *staging-1* in the current branch." +#: ../../content/administration/odoo_sh/getting_started.rst:44 +msgid "Odoo.sh collaborators: individuals managing the Odoo.sh project. Each collaborator must be linked to a GitHub user. However, collaborators are not the same as database users." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:474 -#: ../../content/administration/odoo_sh/getting_started/branches.rst:547 -msgid "Uploads the changes you just added in the *master* branch on your remote repository." +#: ../../content/administration/odoo_sh/getting_started.rst:47 +msgid "Database users: end-users of the deployed Odoo database. They interact with the live system but are not involved in development or project management." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:477 -msgid "SSH" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:3 +msgid "Branches" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:480 -msgid "Setup" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:5 +msgid "The branches view provides an overview of the different branches in your repository." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:482 -msgid "In order to use SSH, you have to set up your profile SSH public key (if it is not already done). To do so, follow these steps:" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:10 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:41 +msgid "Stages" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:485 -msgid "`Generate a new SSH key `_" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:12 +msgid "Odoo.sh offers three different branch stages:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:487 -msgid "`Copy the SSH key to your clipboard `_ (only apply the step 1)" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:14 +msgid ":ref:`Production `" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:490 -msgid "Paste the copied content to your profile SSH keys and press \"Add\"" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:15 +msgid ":ref:`Staging `" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:495 -msgid "The key should appear below" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:16 +msgid ":ref:`Development `" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:501 -msgid "Connection" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:18 +msgid "You can change the stage of a branch by dragging and dropping it under the desired stage." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:503 -msgid "To connect to your builds using ssh use the following command in a terminal:" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "Changing the stage of a branch" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:509 -msgid "You will find a shortcut for this command into the SSH tab in the upper right corner." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:24 +msgid "Development branches can be moved under :guilabel:`Staging`. If you try to move a development branch under :guilabel:`Production`, a warning message will be displayed explaining that you can only have one production branch per project." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:514 -msgid "Provided you have the :ref:`correct access rights ` on the project, you'll be granted ssh access to the build." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:27 +msgid "Staging branches can be moved under :guilabel:`Development`, but it is not possible to move them under :guilabel:`Production`." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:518 -msgid "Long running ssh connections are not guaranteed. Idle connections will be disconnected in order to free up resources." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:29 +msgid "The production branch can only be moved under :guilabel:`Development`. If you try to move it under :guilabel:`Staging`, you can only perform a merge. Refer to the :ref:`merging ` section for a detailed explanation of this process." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:522 -msgid "Submodule" +#: ../../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/settings.rst:132 +msgid "Production" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:524 -msgid "Add a branch from another repository in your current branch as a *submodule*." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:39 +msgid "The production branch contains the code used to run the production database. There can be only one production branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:526 -msgid "*Submodules* allows you to use modules from other repositories in your project." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:42 +msgid "When you push a new commit to this branch, the production server is updated with the revised code and restarted." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:528 -msgid "The submodules feature is detailed in the chapter :ref:`Submodules ` of this documentation." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:45 +msgid "If the changes require a module update, such as changing a form view, and you want the update to be performed automatically, you can increase the module's version number in its manifest file (:file:`__manifest__.py`). The platform then performs the update, during which the instance will be held temporarily unavailable for maintenance reasons." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:535 -msgid "Adds the branch *master* of the repository ** as a submodule under the path ** in your current branch." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:50 +msgid "This method is equivalent to upgrading the module using the :guilabel:`Apps` menu or the `-u` switch on :doc:`the command line <../../../developer/reference/cli>`." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:541 -msgid "Commits all your current changes." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:54 +msgid "If the changes prevent the server from restarting or if the module update fails, the server is automatically reverted to the previous successful code revision, and the database is rolled back to its previous state. Access to the failed update's log to troubleshoot it." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:552 -msgid "Delete a branch from your repository." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:57 +msgid "The demo data is not loaded, as it is not intended for use on a production database. The `unit tests `_ are not performed, as it would increase the unavailability time of the production database during the update." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:558 -msgid "Deletes the branch in your remote repository." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:61 +msgid "Odoo.sh automatically backs up the production database. It keeps seven daily, four weekly, and three monthly backups. Each backup includes the database dump, the filestore (attachments and binary fields), logs, and sessions." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/branches.rst:564 -msgid "Deletes the branch in your local copy of the repository." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:66 +msgid "When using **trial projects**, the production branch and all staging branches are automatically set back to the development stage after **30 days**." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:6 -msgid "Builds" +#: ../../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/settings.rst:87 +msgid "Staging" 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/branches.rst:74 +msgid "Staging branches are meant to test new features using production data without compromising the actual production database with test records. They create neutralized duplicates of the production database." 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/branches.rst:78 +msgid "The neutralization disables:" 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." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:80 +msgid "Scheduled actions" 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." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:83 +msgid "To test them, trigger them manually or re-enable them. Be aware that the platform will trigger them less often if no one is using the database in order to save resources." 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/branches.rst:86 +msgid "Outgoing emails" 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." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:89 +msgid "They are instead intercepted using a mail catcher. An :ref:`interface to view the emails ` sent by the database is provided in your Odoo.sh project. That way, no emails are sent to your contacts." 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/branches.rst:93 +msgid "IAP services" 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/branches.rst:95 +msgid "Payment providers and shipping connectors" 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/branches.rst:98 +msgid "They are put into test mode." 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." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:100 +msgid "If you configure or view changes in a staging database, make sure to record them (noting them step by step, reproducing in production, etc.) or write them directly in the branch's modules, using XML data files to override the default configuration or views. Check the :ref:`first module documentation ` to view examples." 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/branches.rst:106 +msgid "Unit tests are not performed. They rely on demo data, which is not loaded into the production and staging databases. If Odoo starts supporting running the units without demo data, Odoo.sh will then consider running the tests on staging databases." 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." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:110 +msgid "Staging databases are not automatically backed up. Nevertheless, you can restore a backup of the production database in a staging branch for testing purposes or to manually recover data that has been accidently deleted from the production database. It is possible to create manual backups of staging databases." 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." +#: ../../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/settings.rst:57 +msgid "Development" 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/branches.rst:120 +msgid "Development branches create new databases using demo data to run the unit tests. The installed modules are those included in the branch. You can change this list of modules to install in the :doc:`project settings `." 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," +#: ../../content/administration/odoo_sh/getting_started/branches.rst:124 +msgid "When pushing a commit to a development branch, a new server is started, with a database created from scratch, and the branch is updated. The demo data is loaded, and the unit tests are performed by default to verify that the changes do not break any of the features being tested. You can disable the tests or allow specific tests to be run with custom tags by going to the :ref:`branch's settings `." 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." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:130 +msgid "Similarly to staging branches, emails are not sent but are intercepted by a mail catcher, and scheduled actions are not triggered as long as the database is not in use." 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." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:133 +msgid "Development databases are not automatically backed up, and manual backups are not possible." 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/branches.rst:136 +msgid "Databases created for development branches are intended to last approximately three days. After that, they can be automatically garbage-collected to make room for new databases without prior notice." 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/branches.rst:143 +msgid "Merging branches" 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/branches.rst:145 +msgid "You can merge your branches by dragging and dropping them into each other." 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." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "Merging branches into each other" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:94 -msgid "Features" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:150 +msgid "To test the changes of development branches with the production data, you can either:" 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." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:152 +msgid "Merge the development branch into a staging branch by dragging and dropping it onto the desired branch; or" 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/branches.rst:0 +msgid "Merging a development branch into a staging branch" 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/branches.rst:158 +msgid "Drag and drop the development branch under the :guilabel:`Staging` section to make it a staging branch." 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/branches.rst:0 +msgid "Moving a development branch under staging" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:6 -msgid "Create your project" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:164 +msgid "When the changes are ready for production, drag and drop the staging branch into the production branch to merge and deploy them." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:9 -msgid "Deploy your platform" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:168 +msgid "You can merge development branches into the production branch directly. However, changes will not be validated against the production data through a staging branch, so there is a higher risk of encountering issues in the production database." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:11 -msgid "Go to `Odoo.sh `_ and hit the *Deploy your platform* button." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:171 +msgid "You can merge development branches into each other, and staging branches into each other." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:17 -msgid "Sign in with Github" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:172 +msgid "You can also use `git merge` directly on your workstation to merge your branches. Odoo.sh is notified when new revisions are pushed to your branches." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:19 -msgid "Sign in with your Github account. If you do not have an account yet, hit the *Create an account* link." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:175 +msgid "Merging a staging branch into the production branch only merges the source code. Any changes made to the staging database are not passed to the production database. However, if you modify the code in the repository, it will be passed to the production branch when merging." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:26 -msgid "Authorize Odoo.sh" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:179 +msgid "If you test configuration changes in staging branches, and want them to be applied to the production branch, you have to, either:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:28 -msgid "Grant Odoo.sh the required accesses to your account by clicking the *Authorize* button." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:182 +msgid "Write the configuration changes in XML data files to overide the default configuration or views in the branch, and then increase the version of the module in its manifest (:file:`__manifest__.py`) to trigger the module update when merging the staging branch in the production branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:33 -msgid "Odoo.sh basically needs:" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:187 +msgid "This method is recommended for better scalability of your developments, as you will use the Git versioning features for all configuration changes, thereby ensuring traceability of your changes." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:35 -msgid "to know your Github login and email," +#: ../../content/administration/odoo_sh/getting_started/branches.rst:191 +msgid "Pass them manually from the staging database to the production one by copying and pasting them." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:36 -msgid "to create a new repository in case you decide to start from scratch," +#: ../../content/administration/odoo_sh/getting_started/branches.rst:196 +msgid "Tabs" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:37 -msgid "to read your existing repositories, including the ones of your organizations, in case you want to start from an existing repository," +#: ../../content/administration/odoo_sh/getting_started/branches.rst:201 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:58 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:88 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:133 +msgid "History" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:39 -msgid "to create a webhook to be notified each time you push changes," +#: ../../content/administration/odoo_sh/getting_started/branches.rst:203 +msgid "The :guilabel:`History` tab gives an overview of the branch history:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:40 -msgid "to commit changes to make your deployment easier, merging branches or adding new `submodules `_ for example." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:205 +msgid "The commit messages and their authors" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:206 +msgid "The various events linked to the platform, such as stage changes, database imports, and backup restores" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "The branches' history tab" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:212 +msgid "A status in the top right corner of each event indicates the current operation on the database (e.g., installation, update, backup import) or its outcome (e.g., test feedback, successful backup import). If an operation is successful, a :guilabel:`Connect` button appears, allowing you to access the database." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:220 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:396 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:78 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:108 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:153 +msgid "Mails" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:222 +msgid "The :guilabel:`Mails` tab contains the mail catcher, which provides an overview of emails sent by the database." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:226 +msgid "The mail catcher is available for development and staging branches. Emails from the production database are actually sent and are not intercepted by the mail catcher." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "The branches' mails tab" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:235 +msgid "Shell" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:237 +msgid "The :guilabel:`Shell` tab provides shell access to the container." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:239 +msgid "Clicking :guilabel:`Shell` opens a new browser tab where you can run basic Linux commands (`ls`, `top`). You can open a shell on the database by running `psql`." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "The branches' shell tab" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:246 +msgid "You can open multiple shell tabs at once and arrange their layout by dragging and dropping them." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:249 +msgid "Production instance shells are highlighted in red to emphasize the danger of manipulating production instances directly, while staging/development instance shells are highlighted in yellow." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:252 +msgid "Long-running shell instances/idle shell sessions can be terminated at any time to free up resources." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:258 +msgid "Commands" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:260 +msgid "Here is an overview of useful commands that you can run an Odoo.sh database terminal:" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:262 +msgid "`odoo-bin shell`: to open an Odoo shell" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:263 +msgid "`odoo-update`: to update modules in the database" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:264 +msgid "`odoosh-restart`: to restart Odoo.sh services (http or cron)" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:265 +msgid "`odoosh-storage`: to check the storage usage of your instance's container filesystem" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:266 +msgid "`psql`: to open a database shell" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:267 +msgid "`mutt`: to check how emails appear on text clients (staging and development instances)" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:268 +msgid "`lnav ~/logs/odoo.log`: to navigate in your instance's :file:`odoo.log` file" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:269 +msgid "`ncdu`: to launch the disk usage analyzer with an interactive interface" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:270 +msgid "`grep`: to filter and find information in log or configuration files" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:275 +msgid "Editor" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:277 +msgid "Clicking :guilabel:`Editor` opens a new browser tab to access an online integrated development environment (IDE) to edit the source code. You can also open terminals, Python consoles, and Odoo shell consoles." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "The branches' editor tab" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:284 +msgid "You can open multiple tabs and drag and drop them to arrange the layout as you wish." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:287 +msgid ":doc:`Online editor documentation `." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:292 +msgid "Monitor" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:294 +msgid "The :guilabel:`Monitor` tab displays various performance monitoring metrics of the current build." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:296 +msgid "Zoom in with your cursor to adjust the time range or select it manually from the time range selector. It is also possible to change the time zone." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "The time range selector in the branches monitor tab" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:303 +msgid "Technical logs always use the :abbr:`UTC (Coordinated Universal Time)`. To analyze these logs together with your monitoring metrics, ensure :abbr:`UTC (Coordinated Universal Time)` is selected in the monitoring tool." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:306 +msgid "Similarly, when sending a support ticket, ensure the information you share is based on :abbr:`UTC (Coordinated Universal Time)`, as Odoo uses this time zone to investigate performance issues." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:310 +msgid "The information is aggregated periodically. When this is the case, a blue dotted line is displayed, along with the tag :guilabel:`Aggregate Date`. This means that the data before this date will appear flattened when compared to the data after this date. Therefore, when using the monitoring tool, it is recommended to focus on recent events to get the most detailed information possible." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:316 +msgid "Dotted Lines of other colors help you relate to other changes on the build (database import, git push, etc.)." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "CPU monitoring aggregated data" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:323 +msgid "On each graph, an 𝕚 (:guilabel:`information`) icon is displayed in the top-left corner. Hover your mouse over it to get more details about what the graph represents." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:329 +msgid "Metrics" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:334 +msgid "System" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:336 +msgid "The :guilabel:`Memory` graph displays information about memory consumption:" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:338 +msgid ":guilabel:`Memory container` represents Odoo workers and container processes." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:339 +msgid ":guilabel:`Memory postgresql` represents the database." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "The memory graph in the monitor tab" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:344 +msgid "The :guilabel:`CPU` graph displays information about CPU consumption:" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:346 +msgid ":guilabel:`CPU http` represents Odoo workers." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:347 +msgid ":guilabel:`CPU cron/mail` represents scheduled actions and incoming emails." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:348 +msgid ":guilabel:`CPU postgresql` (database processes)" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:349 +msgid ":guilabel:`CPU other` represents webshells, the editor, etc." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "The cpu graph in the monitor tab" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:354 +msgid "The :guilabel:`Storage` graph displays information about the storage used:" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:356 +msgid ":guilabel:`Container` represents the filestore, log files, and user files." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:357 +msgid ":guilabel:`Postgresql` represents the database and indexes." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "The storage graph in the monitor tab" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:365 +msgid "HTTP" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:367 +msgid "The :guilabel:`Requests` graph displays information about the number of HTTP requests per second:" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:369 +msgid ":guilabel:`HTTP successes` represents successful requests." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:370 +msgid ":guilabel:`HTTP errors` represents failed requests (check :file:`odoo.log`)." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:371 +msgid ":guilabel:`HTTP rate limited` represents declined requests, possibly due to lack of workers." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "The requests graph in the monitor tab" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:376 +msgid "The :guilabel:`Concurrent requests (max)` graph displays the maximum number of concurrent HTTP requests per second." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "The concurrent rquests graph in the monitor tab" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:383 +msgid "Database workers determine the number of concurrent requests that can be managed simultaneously. It is essential to have enough workers to handle all incoming requests as they arrive. However, having additional workers beyond this does not improve the speed at which requests are processed." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:387 +msgid "The :guilabel:`Average Response time` displays the average response time to HTTP requests (in milliseconds)." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "The average response time graph in the monitor tab" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:398 +msgid "The :guilabel:`Incoming` graph displays data about the daily number of incoming emails:" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:400 +msgid ":guilabel:`Received Emails` represents emails successfuly received." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:401 +msgid ":guilabel:`Received Emails bounced` represents emails unsuccessfully received." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "The incoming graph in the monitor tab" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:406 +msgid "The :guilabel:`Outgoing` graph displays data about the daily number of outgoing emails:" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:408 +msgid ":guilabel:`Sent Emails` represents emails successfully sent." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:409 +msgid ":guilabel:`Sent Emails bounced` represents emails unsuccessfully sent." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "The outgoing graph in the monitor tab" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:417 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:68 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:98 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:143 +msgid "Logs" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:419 +msgid "The :guilabel:`Logs` tab offers a real-time view of your server's logs." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "The branches log tab" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:424 +msgid "Different logs are available:" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:426 +msgid "`pip.log`: the Python dependencies installation" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:427 +msgid "`install.log`: the database installation (for development branches, tests are included)" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:428 +msgid "`odoosh-import-database.log`: the last imported dump process" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:429 +msgid "`odoo.log`: the running server" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:430 +msgid "`update.log`: the database updates" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:431 +msgid "`pg_slow_queries.log`: psql queries that take an unusual amount of time" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:432 +msgid "`sh_webshell.log`: the actions taken in the webshell" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:433 +msgid "`sh_editor.log`: the actions taken in the editor" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:434 +msgid "`neutralize.log`: the neutralization of the database (only staging)" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "Logs scrolling automatically" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:439 +msgid "When new lines are added to the logs, they are displayed automatically. If you scroll to the bottom, the browser scrolls automatically each time a new line is added." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:442 +msgid "You can pause the logs fetching process by clicking the :icon:`fa-pause` (:guilabel:`pause`) button in the upper right corner. Otherwise, the process stops after five minutes. You can restart it by clicking the :icon:`fa-play` (:guilabel:`play`) button." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:449 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:118 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:163 +msgid "Backups" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:451 +msgid "The :guilabel:`Backups` tab lists the available backups to download and restore, lets you perform a manual backup and import a database." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "The branches backups tab" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:457 +msgid "The production database is automatically backed up daily. Seven daily, four weekly, and three monthly backups are kept. Each backup includes the database dump, the filestore (attachments and binary fields), logs, and sessions." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:462 +msgid "You can refer to `the estimated scheduling of automatic backups `_ to gain a better understanding of how the system works. This file is updated daily, taking the current day as the departure point." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:466 +msgid "Staging and development databases are not automatically backed up. However, you can restore a backup of the production database in your staging branches, for testing purposes, or manually recover data that has been accidentally deleted from the production database." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:470 +msgid "The list contains the backups kept on the server of your production database. This server only keeps one month of backups: seven daily and four weekly backups." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:473 +msgid "Dedicated backup servers keep the same backups, as well as three additional monthly backups. To restore or download one of these monthly backups, contact `Odoo Support `_." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:477 +msgid "When merging a commit updating the version of one or several modules (in :file:`__manifest__.py`), or their linked Python dependencies (in :file:`requirements.txt`), then Odoo.sh performs an automatic backup (flagged with type `Update` in the list), as either the container will be changed by the installation of new pip packages, either the database itself will be changed with the module update triggered afterwards. In these two cases, a backup is triggered as it may break something." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:483 +msgid "If the merged commit does not update the version of a module or linked dependencies, then no backup is triggered by Odoo.sh, as neither the container nor the database is modified; therefore, the platform considers this safe enough. As an extra precaution, you can make a manual backup before modifiyng production sources." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:488 +msgid "The purpose of manual backups is to create a specific snapshot of production or staging databases (not available for development). These remain available for seven days. However, there is a limit of five daily manual backups." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:496 +msgid "Stage" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:497 +msgid "Automatic backup" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:498 +msgid "Manual backup" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:500 +msgid "Yes (up to 3 months)" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:501 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:504 +msgid "Yes (3 days)" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:503 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:506 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:507 +msgid "No" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:509 +msgid "The :guilabel:`Import Database` feature accepts database archives from:" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:511 +msgid "the standard Odoo database manager (available for on-premise Odoo servers under `/web/database/manager`)" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:513 +msgid "the Odoo Online databases manager" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:514 +msgid "the Odoo.sh :guilabel:`Backups` tab (using the :icon:`fa-download` (:guilabel:`Download Options`) button)" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:516 +msgid "the Odoo.sh :doc:`Builds ` view (by clicking :guilabel:`Download DB dump`)" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:523 +msgid "The :guilabel:`Upgrade` tab can be used to upgrade production and staging branches of valid projects. For more information about the upgrade process, refer to the :doc:`Upgrade documentation <../../upgrade>`." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "The branches upgrade tab" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:533 +msgid "Tools" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:535 +msgid "The :guilabel:`Tools` tab contains the code profiler. It is used to start a profiling session, recording the activities of Odoo workers running in the instance for a maximum of five minutes. You can choose to terminate the session earlier, as running the tool for a shorter duration reduces the amount of noise in the report." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "Using the code profiler" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:543 +msgid "After each session, an interactive flame graph is created to help you visualize how the Odoo workers allocate their time." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:547 +msgid "Running the profiler consumes a lot of server resources, so avoid letting it run for too long. The goal is to record a specific action in your database." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:553 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:3 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:83 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:128 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:173 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:182 +msgid "Settings" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:555 +msgid "The :guilabel:`Settings` tab lists the configuration options available for the currently selected branch. The options vary for each stage." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "The branches settings tab" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:564 +msgid "Behavior upon new commits" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:566 +msgid "You can change the branch's behavior upon receiving a new commit for **development** and **staging** branches." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:569 +msgid "By default, a **development** branch creates a new build and a staging branch updates the previous build. This is useful if the feature you are working on requires a specific configuration, as you would not need to manually configure it again after every commit." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:573 +msgid "If you select :guilabel:`New build` for a **staging** branch, a fresh copy of the production build is created every time a commit is pushed." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:576 +msgid "A branch that is moved from **staging** to **development** is set automatically to :guilabel:`Do nothing`." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/branches.rst:582 +msgid "Module installation" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:44 -msgid "Submit your project" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:584 +msgid "You can choose which modules should be installed automatically for **development** branches." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:46 -msgid "Choose if you want to start from scratch by creating a new repository, or if you want to use an existing repository." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "The settings tab module installation" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:49 -msgid "Then, choose a name or select the repository you want to use." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:589 +msgid "To change the default behavior, untick the :guilabel:`Use Default` option under :guilabel:`Development build behavior` and select one of the following options under :guilabel:`Module Installation`:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:51 -msgid "Choose the Odoo version you want to use. If you plan to import an existing database or an existing set of applications, you might need to choose the according version. If you start from scratch, use the latest version." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:593 +msgid ":guilabel:`Install only my modules (does not include submodules)`: only installs the branch's modules, excluding :doc:`submodules <../advanced/submodules>`. This is the default option." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:55 -msgid "Enter your *subscription code*. This is also called *subscription referral*, *contract number* or *activation code*." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:595 +msgid ":guilabel:`Full installation (no test suite)`: installs the branch's modules, submodules, and all standard Odoo modules. When running the full installation, the test suite is disabled." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:58 -msgid "It should be the code of your Enterprise subscription that includes Odoo.sh." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:597 +msgid ":guilabel:`Install a list of modules`: installs the specified modules. To do so, enter their technical name, and separate them using commas (e.g., `sale_management,website,accountant`)." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:60 -msgid "Partners can use their partnership codes to start a trial. Should their clients start a project, they ought to get an Enterprise subscription including Odoo.sh and use its subscription code. The partner will get 50% of the amount back as commission. Contact your sales representative or account manager in order to get it." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:601 +msgid "If the test suite is enabled, installing all standard Odoo modules can take up to one hour." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:65 -msgid "When submitting the form, if you are notified your subscription is not valid, it either means:" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:606 +msgid "Test suite" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:67 -msgid "it is not an existing subscription," +#: ../../content/administration/odoo_sh/getting_started/branches.rst:608 +msgid "By default, the test suite for **development** branches is enabled. You can restrict which tests are run by entering :ref:`test tags ` and separating them using commas (e.g., `custom_tags,at_install,post_install`)." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:68 -msgid "it is not a partnership subscription," +#: ../../content/administration/odoo_sh/getting_started/branches.rst:612 +msgid "To disable the test suite entirely, untick :guilabel:`Validate the test suite on new builds`." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:69 -msgid "it is an enterprise subscription, but which does not include Odoo.sh," +#: ../../content/administration/odoo_sh/getting_started/branches.rst:617 +msgid "Odoo version" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:70 -msgid "it is neither a partnership subscription or an enterprise subscription (e.g. an online subscription)." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:619 +msgid "You can change the version of Odoo for **development** branches, for example, to test upgraded code or develop features while your production database is in the process of being upgraded to a newer version, by selecting another :guilabel:`Version`." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:73 -msgid "In case of doubt with your subscription, please contact the `Odoo support `_." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:623 +msgid "By default, :guilabel:`Latest` is selected as the :guilabel:`Revision`, and the sources of your Odoo server are updated weekly automatically to benefit from the latest bug, security, and performance fixes." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:80 -msgid "You're done !" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:627 +msgid "To choose a specific revision instead, select it using the :guilabel:`Revision` field." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:82 -msgid "You can start using Odoo.sh. Your first build is about to be created. You will soon be able to connect to your first database." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:630 +msgid "Revisions expire after three months. You will be notified by email when the revision's expiration date approaches. If you have not taken any action when it expires, the :guilabel:`Revision` field is automatically set back to :guilabel:`Latest`." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:91 -msgid "Import your database" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "The settings tab revisions" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:93 -msgid "You can import your database in your Odoo.sh project as long as it is in a :doc:`supported version ` of Odoo." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:640 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:241 +msgid "Custom domains" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:97 -msgid "Push your modules in production" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:642 +msgid "You can configure additional `.odoo.com` domains or your own custom domains for all branch types." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:99 -msgid "If you use community or custom modules, add them in a branch in your Github repository. Databases hosted on the Odoo.com online platform do not have any custom modules. Users of these databases can therefore skip this step." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:645 +msgid "To use your own custom domain, it is necessary to:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:103 -msgid "You can structure your modules as you wish, Odoo.sh will automatically detect the folders containing Odoo addons. For instance, you can put all your modules folder in the root directory of your repository, or group the modules in folders by categories that you define (accounting, project, ...)." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:647 +msgid "Own or purchase the domain name." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:108 -msgid "For community modules available in public Git repositories, you can also consider to add them using :ref:`Submodules `." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:648 +msgid "Enter the domain name under :guilabel:`Custom domains` (e.g., `www.mycompany.com`), then click :guilabel:`Add domain`." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:111 -msgid "Then, either :ref:`make this branch the production branch `, or :ref:`merge it into your production branch `." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:650 +msgid "Configure the domain name (e.g., `www.mycompany.com`) using your registrar's domain name manager with a **CNAME** record value set to your production database domain name (e.g., `mycompany.odoo.com`)." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:115 -msgid "Download a backup" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:655 +msgid "Bare domains (e.g., `mycompany.com`) are not accepted. They can only be configured using **A** records, which only accept IP addresses as their value. Therefore, a bare domain could suddenly cease to function, as the IP address of a database can change (e.g., following an upgrade, a hardware failure, a change of database hosting location)." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:118 -msgid "On-premise databases" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:660 +msgid "To have both your bare domain (e.g., `mycompany.com`) and *www* domain (e.g., `www.mycompany.com`) working, it is necessary to redirect the bare domain to the *www* domain. .com. Most domain managers provide a way to configure this redirection, commonly referred to as a web redirection." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:120 -msgid "Access the URL :file:`/web/database/manager` of your on-premise database and download a backup." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:667 +msgid "HTTPS/SSL" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:124 -msgid "If you cannot access the database manager, it may have been disabled by your system administrator. See the :ref:`database manager security documentation `." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:669 +msgid "If the redirection is correctly set up, an SSL certificate is automatically generated using `Let's Encrypt `_ within the hour, meaning your domain will be accessible through HTTPS." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:127 -msgid "You will need the master password of your database server. If you do not have it, contact your system administrator." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:676 +msgid "SPF and DKIM compliance" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:133 -msgid "Choose a zip including the filestore as the backup format." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:678 +msgid "If the domain of your email addresses uses the :abbr:`SPF (Sender Policy Framework)` or :abbr:`DKIM (DomainKeys Identified Mail)` authentication protocol, it is necessary to authorize Odoo as a sending host in the domain name settings to increase the deliverability of outgoing emails. For more information, refer to the :doc:`Configure DNS records to send emails in Odoo documentation <../../../applications/general/email_communication/email_domain>`." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:139 -msgid "Odoo Online databases" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:685 +msgid "If Odoo is not authorized as a sending host, your outgoing emails may be flagged as spam." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:141 -msgid "`Access your databases manager `_ and download a backup of your database." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:690 +msgid "Shell commands" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:149 -msgid "Online versions (e.g. *saas-**) are not supported on Odoo.sh." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:692 +msgid "In the top right corner of the view, several shell commands are displayed. The commands can be copied using the clipboard button and then used in a terminal. In addition, some of them can be used directly from Odoo.sh's interface." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:152 -msgid "Upload the backup" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:-1 +msgid "The branches shell commands shortcuts" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:154 -msgid "Then, in your Odoo.sh project, in the backups tab of your production branch, import the backup you just downloaded." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:702 +msgid "Clone" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:160 -msgid "Once the backup imported, you can access the database using the *Connect* button in the history of the branch." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:704 +msgid "The clone command is used to create a local copy of your Git repository." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:167 -msgid "Check your outgoing email servers" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:707 +msgid ":command:`git clone --recurse-submodules --branch development git@github.com:my-organization/my-repository.git`" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:169 -msgid "There is a default mail server provided with Odoo.sh. To use it, there must be no enabled outgoing mail server configured in your database in :menuselection:`Settings --> Technical --> Outgoing Mail Servers` (:ref:`Developer mode ` must be activated)." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:709 +msgid "`--recurse-submodules` to download the submodules of your repository" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:174 -msgid "After the import of your database, all outgoing email servers are disabled so you use the Odoo.sh email server provided by default." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:710 +msgid "`--branch main` to check out to a specific branch of the repository (e.g., `development`)" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:178 -msgid "Port 25 is (and will stay) closed. If you want to connect to an external SMTP server, you should use ports 465 and 587." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:713 +msgid "The run button is not available as the command is used to create a local copy on your machine." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:182 -msgid "Check your scheduled actions" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:718 +msgid "Fork" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:184 -msgid "All scheduled actions are disabled after the import." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:720 +msgid "The fork command is used to create a new branch based on the current one." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:186 -msgid "This is to prevent your newly imported database to perform actions that could impact your running production, such as sending the mails remaining in the queue, processing mass mailings, or third-party services synchronization (Calendars, files hosting, ...)." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:723 +msgid ":command:`git checkout -b main-1 development && git push -u origin development-1`" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:190 -msgid "If you plan to make the imported database your production, enable the scheduled actions you need. You can check what is enabled in the database of origin and enable the same actions in the imported database. Scheduled actions are located under :menuselection:`Settings --> Technical --> Automation --> Scheduled Actions`." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:725 +msgid ":command:`git checkout -b main-1 main` a command to create a new branch (e.g., `development-1`) based on the current branch (e.g., `development`)" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:196 -msgid "Register your subscription" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:727 +msgid ":command:`git push -u origin development-1` a command to upload the new branch (e.g., `development-1`) to the remote repository" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:198 -msgid "Your subscription is unlinked after the import." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:733 +msgid "Merge" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:200 -msgid "The imported database is considered a duplicate by default and the enterprise subscription is therefore removed, as you can only have one database linked per subscription." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:735 +msgid "The merge command is used to combine changes on one branch into another branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:203 -msgid "If you plan to make it your production, unlink your former database from the subscription, and register the newly imported database. Read the :doc:`database registration documentation <../../on_premise>` for instructions." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:738 +msgid ":command:`git merge staging-1 && git push -u origin staging`" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:3 -msgid "Your first module" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:740 +msgid ":command:`git merge staging-1` a command to merge the changes of the current branch into another branch (e.g., `staging-1`)" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:8 -msgid "This chapter helps you to create your first Odoo module and deploy it in your Odoo.sh project." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:742 +msgid ":command:`git push -u origin staging` a command to upload the merged changes to the remote repository branch (e.g., `staging`)" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:10 -msgid "This tutorial requires :ref:`you created a project on Odoo.sh `, and you know your Github repository's URL." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:748 +msgid "SSH" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:13 -msgid "Basic use of Git and Github is explained." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:750 +msgid "The SSH command is used to connect to a build using SSH." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:15 -msgid "The below assumptions are made:" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:752 +msgid "To use the SSH command, it is necessary to set up an SSH key first. To do so:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:17 -msgid "*~/src* is the directory where are located the Git repositories related to your Odoo projects," +#: ../../content/administration/odoo_sh/getting_started/branches.rst:754 +msgid "`Generate a new SSH key `_." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:18 -msgid "*odoo* is the Github user," +#: ../../content/administration/odoo_sh/getting_started/branches.rst:755 +msgid "`Copy the SSH key to your clipboard `_." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:19 -msgid "*odoo-addons* is the Github repository," +#: ../../content/administration/odoo_sh/getting_started/branches.rst:756 +msgid "On Odoo.sh, click your GitHub user in the top-right corner and select :guilabel:`Profile`." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:20 -msgid "*feature-1* is the name of a development branch," +#: ../../content/administration/odoo_sh/getting_started/branches.rst:0 +msgid "Accessing a user's profile" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:21 -msgid "*master* is the name of the production branch," +#: ../../content/administration/odoo_sh/getting_started/branches.rst:761 +msgid "Paste the SSH key under the :guilabel:`Add a key manually` field and click :guilabel:`Add`." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:22 -msgid "*my_module* is the name of the module." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:0 +msgid "Adding an SSH key manually" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:24 -msgid "Replace these by the values of your choice." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:767 +msgid ":command:`ssh 25004381@my-user-my-repository-staging-25004381.dev.odoo.com`" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:27 -msgid "Create the development branch" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:769 +msgid "`25004381` the build ID" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:30 -msgid "From Odoo.sh" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:770 +msgid "`my-user-my-repository-staging-25004381.dev.odoo.com` the domain used to connect to the build" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:32 -msgid "In the branches view:" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:772 +msgid "Provided you have the necessary :ref:`access rights ` on the project, you will be granted SSH access to the build." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:34 -msgid "hit the :code:`+` button next to the development stage," +#: ../../content/administration/odoo_sh/getting_started/branches.rst:776 +msgid "Long-running SSH connections are not guaranteed. Idle connections can be disconnected to free up resources." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:35 -msgid "choose the branch *master* in the *Fork* selection," +#: ../../content/administration/odoo_sh/getting_started/branches.rst:782 +msgid "Submodule" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:36 -msgid "type *feature-1* in the *To* input." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:784 +msgid "The submodule command is used to add a branch from another repository to your current branch as a submodule." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:38 -msgid "|pic1| |pic2|" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:788 +msgid ":doc:`Submodules documentation <../advanced/submodules>`" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:40 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:40 -msgid "pic1" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:791 +msgid ":command:`git submodule add -b master && git commit -a && git push -u origin staging`" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:43 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:43 -msgid "pic2" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:793 +msgid ":command:`git submodule add -b master ` a command to add a specific branch (e.g., `master`) of a repository (``) as a submodule under the specified path (``) in your current branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:46 -msgid "Once the build created, you can access the editor and browse to the folder *~/src/user* to access to the code of your development branch." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:796 +msgid ":command:`git commit -a` a command to commit all current changes" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:56 -msgid "From your computer" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:797 +msgid ":command:`git push -u origin staging` a command to upload the changes of the current branch (e.g., `staging`) to the remote repository." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:58 -msgid "Clone your Github repository on your computer:" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:805 +msgid "The delete command is used to delete a branch from your repository." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:67 -msgid "Create a new branch:" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:808 +msgid "Once you delete a branch, there is no way to retrieve it unless a backup exists. Staging branches are not automatically backed up, but can be manually. Development branches cannot be backed up." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:74 -msgid "Create the module structure" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:812 +msgid ":command:`git push origin :staging && git branch -D staging`" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:77 -msgid "Scaffolding the module" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:814 +msgid ":command:`git push origin :staging` a command to delete a specific branch (e.g., `staging`) on the remote repository" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:79 -msgid "While not necessary, scaffolding avoids the tedium of setting the basic Odoo module structure. You can scaffold a new module using the executable *odoo-bin*." +#: ../../content/administration/odoo_sh/getting_started/branches.rst:816 +msgid ":command:`git branch -D staging` a command to delete the specific branch on your local copy of the repository" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:82 -msgid "From the Odoo.sh editor, in a terminal:" +#: ../../content/administration/odoo_sh/getting_started/branches.rst:820 +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/first_module.rst:88 -msgid "Or, from your computer, if you have an :doc:`installation of Odoo <../../on_premise/source>`:" +#: ../../content/administration/odoo_sh/getting_started/builds.rst:6 +msgid "Builds" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:94 -msgid "If you do not want to bother installing Odoo on your computer, you can also :download:`download this module structure template ` in which you replace every occurrences of *my_module* to the name of your choice." +#: ../../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." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:98 -msgid "The below structure will be generated:" +#: ../../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." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:121 -msgid "Do not use special characters other than the underscore ( _ ) for your module name, not even an hyphen ( - ). This name is used for the Python classes of your module, and having classes name with special characters other than the underscore is not valid in Python." +#: ../../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." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:125 -msgid "Uncomment the content of the files:" +#: ../../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." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:127 -msgid "*models/models.py*, an example of model with its fields," +#: ../../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." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:129 -msgid "*views/views.xml*, a tree and a form view, with the menus opening them," +#: ../../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." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:131 -msgid "*demo/demo.xml*, demo records for the above example model," +#: ../../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." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:133 -msgid "*controllers/controllers.py*, an example of controller implementing some routes," +#: ../../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." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:135 -msgid "*views/templates.xml*, two example qweb views used by the above controller routes," +#: ../../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." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:137 -msgid "*__manifest__.py*, the manifest of your module, including for instance its title, description and data files to load. You just need to uncomment the access control list data file:" +#: ../../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/first_module.rst:146 -msgid "Manually" +#: ../../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." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:148 -msgid "If you want to create your module structure manually, you can follow the :doc:`/developer/tutorials/server_framework_101` tutorial to understand the structure of a module and the content of each file." +#: ../../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." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:153 -msgid "Push the development branch" +#: ../../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/first_module.rst:155 -msgid "Stage the changes to be committed" +#: ../../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:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:161 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:395 -msgid "Commit your changes" +#: ../../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," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:167 -msgid "Push your changes to your remote repository" +#: ../../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." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:169 -msgid "From an Odoo.sh editor terminal:" +#: ../../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." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:175 -msgid "The above command is explained in the section :ref:`Commit & Push your changes ` of the :ref:`Online Editor ` chapter. It includes the explanation regarding the fact you will be prompted to type your username and password, and what to do if you use the two-factor authentication." +#: ../../content/administration/odoo_sh/getting_started/builds.rst:83 +msgid "Development builds create new databases, load the demo data and run the unit tests." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:183 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:383 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:409 -msgid "Or, from your computer terminal:" +#: ../../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." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:189 -msgid "You need to specify *-u origin feature-1* for the first push only. From that point, to push your future changes from your computer, you can simply use" +#: ../../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." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:197 -msgid "Test your module" +#: ../../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/first_module.rst:199 -msgid "Your branch should appear in your development branches in your project." +#: ../../content/administration/odoo_sh/getting_started/builds.rst:94 +msgid "Features" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:204 -msgid "In the branches view of your project, you can click on your branch name in the left navigation panel to access its history." +#: ../../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." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:210 -msgid "You can see here the changes you just pushed, including the comment you set. Once the database ready, you can access it by clicking the *Connect* button." +#: ../../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." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:216 -msgid "If your Odoo.sh project is configured to install your module automatically, you will directly see it amongst the database apps. Otherwise, it will be available in the apps to install." +#: ../../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." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:220 -msgid "You can then play around with your module, create new records and test your features and buttons." +#: ../../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." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:223 -msgid "Test with the production data" +#: ../../content/administration/odoo_sh/getting_started/create.rst:3 +msgid "Create a project" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:225 -msgid "You need to have a production database for this step. You can create it if you do not have it yet." +#: ../../content/administration/odoo_sh/getting_started/create.rst:6 +msgid "Deploy a platform" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:227 -msgid "Once you tested your module in a development build with the demo data and believe it is ready, you can test it with the production data using a staging branch." +#: ../../content/administration/odoo_sh/getting_started/create.rst:8 +msgid "Visit `Odoo.sh `_ and click :guilabel:`Deploy your platform`." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:230 -msgid "You can either:" +#: ../../content/administration/odoo_sh/getting_started/create.rst:0 +msgid "The Deploy your platform button on Odoo.sh" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:232 -msgid "Make your development branch a staging branch, by drag and dropping it onto the *staging* section title." +#: ../../content/administration/odoo_sh/getting_started/create.rst:13 +msgid "Sign in with a `GitHub `_ account." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:238 -msgid "Merge it in an existing staging branch, by drag and dropping it onto the given staging branch." +#: ../../content/administration/odoo_sh/getting_started/create.rst:0 +msgid "Signing in to GitHub" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:243 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:289 -msgid "You can also use the :code:`git merge` command to merge your branches." +#: ../../content/administration/odoo_sh/getting_started/create.rst:18 +msgid "Authorize Odoo.sh by clicking :guilabel:`Authorize odoo` twice." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:245 -msgid "This will create a new staging build, which will duplicate the production database and make it run using a server updated with your latest changes of your branch." +#: ../../content/administration/odoo_sh/getting_started/create.rst:0 +msgid "Granting Odoo.sh permissions to perform actions and access data on GitHub" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:251 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:297 -msgid "Once the database ready, you can access it using the *Connect* button." +#: ../../content/administration/odoo_sh/getting_started/create.rst:0 +msgid "Granting Odoo.sh additional permissions to perform actions and access data on GitHub" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:256 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:300 -msgid "Install your module" +#: ../../content/administration/odoo_sh/getting_started/create.rst:27 +msgid "Odoo.sh requests GitHub to:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:258 -msgid "Your module will not be installed automatically, you have to install it from the apps menu. Indeed, the purpose of the staging build is to test the behavior of your changes as it would be on your production, and on your production you would not like your module to be installed automatically, but on demand." +#: ../../content/administration/odoo_sh/getting_started/create.rst:29 +msgid "Access your GitHub login and email." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:263 -msgid "Your module may not appear directly in your apps to install either, you need to update your apps list first:" +#: ../../content/administration/odoo_sh/getting_started/create.rst:30 +msgid "Create a new repository, in case you start from scratch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:266 -msgid "Activate the :ref:`developer mode `" +#: ../../content/administration/odoo_sh/getting_started/create.rst:31 +msgid "Access existing repositories, including organization ones, in case you start from an existing repository." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:267 -msgid "in the apps menu, click the *Update Apps List* button," +#: ../../content/administration/odoo_sh/getting_started/create.rst:33 +msgid "Create a webhook to notify you each time changes are pushed." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:268 -msgid "in the dialog that appears, click the *Update* button." +#: ../../content/administration/odoo_sh/getting_started/create.rst:34 +msgid "Commit changes for easier deployment." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:273 -msgid "Your module will then appear in the list of available apps." +#: ../../content/administration/odoo_sh/getting_started/create.rst:36 +msgid "Fill in the :guilabel:`Deploy your platform` form and click :guilabel:`Deploy`:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:279 -msgid "Deploy in production" +#: ../../content/administration/odoo_sh/getting_started/create.rst:38 +msgid ":guilabel:`Github repository`: to create a new repository, choose :guilabel:`New repository` and enter a name; to use an existing one, choose :guilabel:`Existing repository` and select it." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:281 -msgid "Once you tested your module in a staging branch with your production data, and believe it is ready for production, you can merge your branch in the production branch." +#: ../../content/administration/odoo_sh/getting_started/create.rst:40 +msgid ":guilabel:`Odoo Version`: select the major version of Odoo you want to use." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:284 -msgid "Drag and drop your staging branch on the production branch." +#: ../../content/administration/odoo_sh/getting_started/create.rst:43 +msgid "Use the latest major version of Odoo version when creating a new repository. If you are planning to import an existing database or applications, it might be required that their versions match." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:291 -msgid "This will merge the latest changes of your staging branch in the production branch, and update your production server with these latest changes." +#: ../../content/administration/odoo_sh/getting_started/create.rst:46 +msgid "If you are starting on Odoo Online and plan to migrate to Odoo.sh later, create your database using `odoo.com/start-lts `_ to ensure compatibility, as minor versions are not supported by Odoo.sh." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:302 -msgid "Your module will not be installed automatically, you have to install it manually as explained in the :ref:`above section about installing your module in staging databases `." +#: ../../content/administration/odoo_sh/getting_started/create.rst:50 +msgid ":guilabel:`Subscription Code`: enter your Odoo Enterprise subscription code that includes Odoo.sh. It is also sometimes called the *subscription referral*, *contract number*, or *activation code*." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:308 -msgid "Add a change" +#: ../../content/administration/odoo_sh/getting_started/create.rst:55 +msgid "Partners can use their partnership codes to initiate a trial (trial builds are limited to 1 GB storage and two staging). If a client proceeds to start a project, they must subscribe to an Odoo Enterprise plan that includes Odoo.sh hosting and use their subscription code." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:310 -msgid "This section explains how to add a change in your module by adding a new field in a model and deploy it." +#: ../../content/administration/odoo_sh/getting_started/create.rst:59 +msgid ":guilabel:`Hosting location`: select the region where your platform will be hosted." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:315 -msgid "From the Odoo.sh editor," +#: ../../content/administration/odoo_sh/getting_started/create.rst:0 +msgid "The Deploy your platform form" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:314 -msgid "browse to your module folder *~/src/user/my_module*," +#: ../../content/administration/odoo_sh/getting_started/create.rst:67 +msgid "Import a database" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:315 -msgid "then, open the file *models/models.py*." +#: ../../content/administration/odoo_sh/getting_started/create.rst:69 +msgid "Once your platform is deployed, you can import a database into your Odoo.sh project, provided it uses a :doc:`supported version <../../supported_versions>` of Odoo." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:321 -msgid "Or, from your computer," +#: ../../content/administration/odoo_sh/getting_started/create.rst:73 +msgid "Due to `Odoo's backup policy `_, the import process requires **four times** the size of your database dump in available storage. For example, a 10 GB dump file will require at least 40 GB of available space. We recommend allocating **more than four times×** the dump size temporarily, then reducing storage after the import is complete." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:318 -msgid "use the file browser of your choice to browse to your module folder *~/src/odoo-addons/my_module*," +#: ../../content/administration/odoo_sh/getting_started/create.rst:78 +msgid "If your project is a trial created with a partnership code, you can only import database dumps up to **1 GB** in size." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:320 -msgid "then, open the file *models/models.py* using the editor of your choice, such as *Atom*, *Sublime Text*, *PyCharm*, *vim*, ..." +#: ../../content/administration/odoo_sh/getting_started/create.rst:82 +msgid "Push modules in production" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:323 -msgid "Then, after the description field" +#: ../../content/administration/odoo_sh/getting_started/create.rst:84 +msgid "If you are using community or custom modules, add them to a branch in your GitHub repository." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:329 -msgid "Add a datetime field" +#: ../../content/administration/odoo_sh/getting_started/create.rst:87 +msgid "Databases hosted on Odoo Online do not support custom modules." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:335 -msgid "Then, open the file *views/views.xml*." +#: ../../content/administration/odoo_sh/getting_started/create.rst:89 +msgid "Odoo.sh automatically detects folders containing Odoo modules. You can organize them however you prefer. For example, you can place them directly in the root directory of your repository or group them by category (e.g., `accounting`, `project`, etc.)." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:337 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:473 -msgid "After" +#: ../../content/administration/odoo_sh/getting_started/create.rst:93 +msgid "For publicly available community modules, you may also consider using :doc:`submodules <../advanced/submodules>`." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:343 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:450 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:467 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:479 -msgid "Add" +#: ../../content/administration/odoo_sh/getting_started/create.rst:97 +msgid "Download a backup" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:349 -msgid "These changes alter the database structure by adding a column in a table, and modify a view stored in database." +#: ../../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 +msgid "On-premise" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:352 -msgid "In order to be applied in existing databases, such as your production database, these changes requires the module to be updated." +#: ../../content/administration/odoo_sh/getting_started/create.rst:103 +msgid "Go to `/web/database/manager` on your on-premise Odoo instance and click :icon:`fa-floppy-o` :guilabel:`Backup`." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:355 -msgid "If you would like the update to be performed automatically by the Odoo.sh platform when you push your changes, increase your module version in its manifest." +#: ../../content/administration/odoo_sh/getting_started/create.rst:0 +msgid "The on-premise web manager interface" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:358 -msgid "Open the module manifest *__manifest__.py*." +#: ../../content/administration/odoo_sh/getting_started/create.rst:109 +msgid "Select :guilabel:`zip (includes filestore)` as the :guilabel:`Backup Format`." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:366 -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:505 -msgid "with" +#: ../../content/administration/odoo_sh/getting_started/create.rst:0 +msgid "Downloading an on-premise database backup" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:372 -msgid "The platform will detect the change of version and trigger the update of the module upon the new revision deployment." +#: ../../content/administration/odoo_sh/getting_started/create.rst:115 +msgid "You will need the :guilabel:`Master Password` of your Odoo server. If you do not have it, contact your system administrator." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:375 -msgid "Browse to your Git folder." +#: ../../content/administration/odoo_sh/getting_started/create.rst:117 +msgid "If you cannot access the database manager, it may have been disabled by your system administrator. Refer to the :ref:`database manager security documentation `." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:377 -msgid "Then, from an Odoo.sh terminal:" +#: ../../content/administration/odoo_sh/getting_started/create.rst:123 +msgid "Log in to your portal account and navigate to the `My Databases page `_, and download a backup by clicking the :icon:`fa-gear` (:guilabel:`gear`) icon, then :icon:`fa-cloud-download` :guilabel:`Download`." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:389 -msgid "Then, stage your changes to be committed" +#: ../../content/administration/odoo_sh/getting_started/create.rst:0 +msgid "Downloading an Odoo Online database backup" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:401 -msgid "Push your changes:" +#: ../../content/administration/odoo_sh/getting_started/create.rst:131 +msgid "Only major versions of Odoo are compatible with Odoo.sh." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:403 -msgid "From an Odoo.sh terminal:" +#: ../../content/administration/odoo_sh/getting_started/create.rst:134 +msgid "Upload the backup" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:415 -msgid "The platform will then create a new build for the branch *feature-1*." +#: ../../content/administration/odoo_sh/getting_started/create.rst:136 +msgid "In your Odoo.sh project, navigate to the :guilabel:`Backups` tab of your :guilabel:`Production` branch, and click :guilabel:`Import Database` to upload the backup you previously downloaded." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:420 -msgid "Once you tested your changes, you can merge your changes in the production branch, for instance by drag-and-dropping the branch on the production branch in the Odoo.sh interface. As you increased the module version in the manifest, the platform will update the module automatically and your new field will be directly available. Otherwise you can manually update the module within the apps list." +#: ../../content/administration/odoo_sh/getting_started/create.rst:-1 +msgid "Importing a database backup on Odoo.sh" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:426 -msgid "Use an external Python library" +#: ../../content/administration/odoo_sh/getting_started/create.rst:142 +msgid "Once the import is complete, you can access the database using the :guilabel:`Connect` button in the branch's :guilabel:`History` tab." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:428 -msgid "If you would like to use an external Python library which is not installed by default, you can define a *requirements.txt* file listing the external libraries your modules depends on." +#: ../../content/administration/odoo_sh/getting_started/create.rst:146 +msgid "Importing a backup **overwrites all data** currently in the branch. Consider downloading a manual backup beforehand if you want to preserve the existing data." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:432 -msgid "It is not possible to install or upgrade system packages on an Odoo.sh database (e.g., apt packages). However, under specific conditions, packages can be considered for installation. This also applies to **Python modules** requiring system packages for their compilation, and **third-party Odoo modules**." +#: ../../content/administration/odoo_sh/getting_started/create.rst:150 +msgid "Check outgoing email servers" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:436 -msgid "**PostgreSQL extensions** are not supported on Odoo.sh." +#: ../../content/administration/odoo_sh/getting_started/create.rst:152 +msgid "Odoo.sh provides a default email server. To use it, ensure that **no outgoing mail server is enabled** in your database by enabling :ref:`developer mode ` and navigating to :menuselection:`Settings --> Technical --> Email: Outgoing Mail Servers`" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:437 -msgid "For more information, consult our `FAQ `_." +#: ../../content/administration/odoo_sh/getting_started/create.rst:156 +msgid "After importing your database, all configured outgoing mail servers are **disabled**, and the default Odoo.sh server is used." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:439 -msgid "The platform will use this file to automatically install the Python libraries your project needs." +#: ../../content/administration/odoo_sh/getting_started/create.rst:160 +msgid "Port **25** is and will remain closed. If connecting to an external SMTP server, use port **465** or **587**." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:441 -msgid "The feature is explained in this section by using the `Unidecode library `_ in your module." +#: ../../content/administration/odoo_sh/getting_started/create.rst:164 +msgid "Check scheduled actions" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:444 -msgid "Create a file *requirements.txt* in the root folder of your repository" +#: ../../content/administration/odoo_sh/getting_started/create.rst:166 +msgid "Scheduled actions are **disabled by default** after importing your database. This prevents your newly imported database from performing potentially disruptive operations such as:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:446 -msgid "From the Odoo.sh editor, create and open the file ~/src/user/requirements.txt." +#: ../../content/administration/odoo_sh/getting_started/create.rst:169 +msgid "sending queued emails," msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:448 -msgid "Or, from your computer, create and open the file ~/src/odoo-addons/requirements.txt." +#: ../../content/administration/odoo_sh/getting_started/create.rst:170 +msgid "triggering mass mailings, or" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:456 -msgid "Then use the library in your module, for instance to remove accents from characters in the name field of your model." +#: ../../content/administration/odoo_sh/getting_started/create.rst:171 +msgid "syncing with third-party services (e.g., calendars, cloud storage)." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:459 -msgid "Open the file *models/models.py*." +#: ../../content/administration/odoo_sh/getting_started/create.rst:173 +msgid "If you intend to use this imported database in production, **re-enable** only the scheduled actions you need by enabling :ref:`developer mode ` and going to :menuselection:`Settings --> Technical --> Automation: Scheduled Actions`." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:461 -msgid "Before" +#: ../../content/administration/odoo_sh/getting_started/create.rst:178 +msgid "Register the subscription" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:495 -msgid "Adding a Python dependency requires a module version increase for the platform to install it." +#: ../../content/administration/odoo_sh/getting_started/create.rst:180 +msgid "After import, the database is considered a **duplicate** and will be unlinked from your enterprise subscription." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:497 -msgid "Edit the module manifest *__manifest__.py*" +#: ../../content/administration/odoo_sh/getting_started/create.rst:184 +msgid "You are allowed only one active database per subscription." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:511 -msgid "Stage and commit your changes:" +#: ../../content/administration/odoo_sh/getting_started/create.rst:186 +msgid "If you intend to make the imported database your production environment:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:519 -msgid "Then, push your changes:" +#: ../../content/administration/odoo_sh/getting_started/create.rst:188 +msgid "Unlink your previous database from the subscription." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:521 -msgid "In an Odoo.sh terminal:" +#: ../../content/administration/odoo_sh/getting_started/create.rst:189 +msgid "Register the new one." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/first_module.rst:527 -msgid "In your computer terminal:" +#: ../../content/administration/odoo_sh/getting_started/create.rst:191 +msgid "Refer to the :doc:`database registration documentation <../../on_premise>` for step-by-step instructions." msgstr "" #: ../../content/administration/odoo_sh/getting_started/online-editor.rst:6 @@ -2655,7 +3182,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 @@ -2771,7 +3298,7 @@ msgid "The Git source folder *~/src/user* is not checked out on a branch but rat msgstr "" #: ../../content/administration/odoo_sh/getting_started/online-editor.rst:141 -msgid "Once your changes are pushed, according to your :ref:`branch push behavior `, a new build may be created. You can continue to work in the editor you pushed from, as it will have the same revision as the new build that was created, but always make sure to be in an editor of a build using the latest revision of your branch." +msgid "Once your changes are pushed, according to your :ref:`branch push behavior `, a new build may be created. You can continue to work in the editor you pushed from, as it will have the same revision as the new build that was created, but always make sure to be in an editor of a build using the latest revision of your branch." msgstr "" #: ../../content/administration/odoo_sh/getting_started/online-editor.rst:148 @@ -2937,6 +3464,11 @@ msgstr "" msgid "Shell/SSH" msgstr "" +#: ../../content/administration/odoo_sh/getting_started/settings.rst:113 +#: ../../content/administration/odoo_sh/getting_started/settings.rst:158 +msgid "Monitoring" +msgstr "" + #: ../../content/administration/odoo_sh/getting_started/settings.rst:177 #: ../../content/administration/odoo_sh/getting_started/status.rst:3 msgid "Status" @@ -2994,12 +3526,8 @@ msgstr "" msgid ":guilabel:`ci/odoo.sh (test_ci)`: testing the token from the Settings page will push a test status on the last commit of your repository" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/settings.rst:241 -msgid "Custom domains" -msgstr "" - #: ../../content/administration/odoo_sh/getting_started/settings.rst:243 -msgid "To configure additional domains please refer to the corresponding branch's :ref:`settings tab `." +msgid "To configure additional domains please refer to the corresponding branch's :ref:`settings tab `." msgstr "" #: ../../content/administration/odoo_sh/getting_started/settings.rst:251 @@ -3118,21 +3646,6 @@ msgstr "" msgid "The status page shows statistics regarding the servers your project uses. It includes the servers availability." msgstr "" -#: ../../content/administration/odoo_sh/overview/introduction.rst:3 -msgid "Introduction to Odoo.sh" -msgstr "" - -#: ../../content/administration/odoo_sh/overview/introduction.rst:10 -msgid "The documentation will help you go live with your Odoo.sh project in no time." -msgstr "" - -#: ../../content/administration/on_premise.rst:5 -#: ../../content/administration/upgrade.rst:30 -#: ../../content/administration/upgrade.rst:163 -#: ../../content/administration/upgrade.rst:371 -msgid "On-premise" -msgstr "" - #: ../../content/administration/on_premise.rst:8 msgid "Register a database" msgstr "" @@ -3988,7 +4501,7 @@ msgid "First, open the Odoo configuration file (`odoo.conf` or `odoorc` (hidden msgstr "" #: ../../content/administration/on_premise/deploy.rst:775 -#: ../../content/administration/on_premise/packages.rst:148 +#: ../../content/administration/on_premise/packages.rst:130 #: ../../content/administration/on_premise/source.rst:70 #: ../../content/administration/on_premise/source.rst:133 #: ../../content/administration/on_premise/source.rst:158 @@ -4343,7 +4856,6 @@ msgstr "" #: ../../content/administration/on_premise/packages.rst:34 #: ../../content/administration/on_premise/packages.rst:70 -#: ../../content/administration/on_premise/packages.rst:100 #: ../../content/administration/on_premise/source.rst:281 msgid "Debian/Ubuntu" msgstr "" @@ -4354,7 +4866,7 @@ msgstr "" #: ../../content/administration/on_premise/packages.rst:44 #: ../../content/administration/on_premise/packages.rst:80 -#: ../../content/administration/on_premise/packages.rst:132 +#: ../../content/administration/on_premise/packages.rst:114 msgid "Fedora" msgstr "" @@ -4391,55 +4903,51 @@ msgstr "" msgid "Instead of using the repository, packages for both the **Community** and **Enterprise** editions can be downloaded from the `Odoo download page `_." msgstr "" +#: ../../content/administration/on_premise/packages.rst:100 +msgid "Ubuntu" +msgstr "" + #: ../../content/administration/on_premise/packages.rst:103 -msgid "Odoo 19 'deb' package currently supports `Debian Bookworm (12) `_ and `Ubuntu Jammy (22.04LTS) `_ or above." +msgid "Odoo 19 'deb' package currently supports `Ubuntu Noble (24.04LTS) `_." msgstr "" -#: ../../content/administration/on_premise/packages.rst:107 +#: ../../content/administration/on_premise/packages.rst:106 msgid "Once downloaded, execute the following commands **as root** to install Odoo as a service, create the necessary PostgreSQL user, and automatically start the server:" msgstr "" #: ../../content/administration/on_premise/packages.rst:117 -msgid "The `python3-xlwt` Debian package, needed to export into the XLS format, does not exist in Debian Buster nor Ubuntu 18.04. If needed, install it manually with the following:" -msgstr "" - -#: ../../content/administration/on_premise/packages.rst:124 -msgid "The `num2words` Python package - needed to render textual amounts - does not exist in Debian Buster nor Ubuntu 18.04, which could cause problems with the `l10n_mx_edi` module. If needed, install it manually with the following:" +msgid "Odoo 19 'rpm' package supports Fedora 42." msgstr "" -#: ../../content/administration/on_premise/packages.rst:135 -msgid "Odoo 19 'rpm' package supports Fedora 38." -msgstr "" - -#: ../../content/administration/on_premise/packages.rst:137 +#: ../../content/administration/on_premise/packages.rst:119 msgid "Once downloaded, the package can be installed using the 'dnf' package manager:" msgstr "" -#: ../../content/administration/on_premise/packages.rst:151 +#: ../../content/administration/on_premise/packages.rst:133 msgid "Windows packaging is offered for the convenience of testing or running single-user local instances but production deployment is discouraged due to a number of limitations and risks associated with deploying Odoo on a Windows platform." msgstr "" -#: ../../content/administration/on_premise/packages.rst:155 +#: ../../content/administration/on_premise/packages.rst:137 msgid "Download the installer from the `nightly server `_ (Community only) or the Windows installer from the `Odoo download page `_ (any edition." msgstr "" -#: ../../content/administration/on_premise/packages.rst:158 +#: ../../content/administration/on_premise/packages.rst:140 msgid "Execute the downloaded file." msgstr "" -#: ../../content/administration/on_premise/packages.rst:161 +#: ../../content/administration/on_premise/packages.rst:143 msgid "On Windows 8 and later, a warning titled *Windows protected your PC* may be displayed. Click **More Info** and then **Run anyway** to proceed." msgstr "" -#: ../../content/administration/on_premise/packages.rst:164 +#: ../../content/administration/on_premise/packages.rst:146 msgid "Accept the `UAC `_ prompt." msgstr "" -#: ../../content/administration/on_premise/packages.rst:165 +#: ../../content/administration/on_premise/packages.rst:147 msgid "Go through the installation steps." msgstr "" -#: ../../content/administration/on_premise/packages.rst:167 +#: ../../content/administration/on_premise/packages.rst:149 msgid "Odoo launches automatically at the end of the installation." msgstr "" diff --git a/locale/sources/essentials.pot b/locale/sources/essentials.pot index 53ce30618c..5cc9e4d230 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-10-20 14:56+0200\n" +"POT-Creation-Date: 2025-11-19 09:34+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -442,7 +442,7 @@ msgid "Contacts" msgstr "" #: ../../content/applications/essentials/contacts.rst:7 -msgid "Contacts are created in the **Contacts** application for customers the company does business with through Odoo. A contact is a repository of vital business information, facilitating communication and business transactions." +msgid "Contacts are created in the **Contacts** application for customers the company does business with through Odoo. A contact record is a repository of vital business information, facilitating communication and business transactions." msgstr "" #: ../../content/applications/essentials/contacts.rst:12 @@ -450,7 +450,7 @@ msgid "Contact form" msgstr "" #: ../../content/applications/essentials/contacts.rst:14 -msgid "To create a new contact, navigate to the :menuselection:`Contacts app`, and click :guilabel:`Create`. A new form appears where various contact information can be added." +msgid "To create a new contact, navigate to the :menuselection:`Contacts app`, and click :guilabel:`New`. A new form appears where various contact information can be added." msgstr "" #: ../../content/applications/essentials/contacts.rst:18 @@ -458,286 +458,314 @@ msgid "Contact type" msgstr "" #: ../../content/applications/essentials/contacts.rst:20 -msgid "Odoo allows for both :guilabel:`Individual` and :guilabel:`Company` contacts. Select either :guilabel:`Individual` or :guilabel:`Company`, depending on the type of contact that is being added." +msgid "Odoo supports both :guilabel:`Person` and :guilabel:`Company` contacts. Select the appropriate type for the new contact. Fill in the name of the :guilabel:`Person` or :guilabel:`Company`. This is how the name appears throughout the database. This field is **mandatory**." msgstr "" -#: ../../content/applications/essentials/contacts.rst:24 -msgid "Name" +#: ../../content/applications/essentials/contacts.rst:25 +msgid ":guilabel:`Person` contacts can be linked to a :guilabel:`Company` contact. After selecting :guilabel:`Person`, the :guilabel:`Company` field becomes visible." msgstr "" -#: ../../content/applications/essentials/contacts.rst:26 -msgid "First, fill in the name of the :guilabel:`Individual` or :guilabel:`Company`. This is how the name appears throughout the database. This field is **mandatory**." +#: ../../content/applications/essentials/contacts.rst:28 +msgid "In the :icon:`fa-envelope` :guilabel:`(envelope)` field, enter the email address with the domain. In the :icon:`fa-phone` :guilabel:`(phone)` field enter the phone number with the appropriate country code. Next, enter the :guilabel:`Address` of the :guilabel:`Company` or :guilabel:`Person`." msgstr "" -#: ../../content/applications/essentials/contacts.rst:30 -msgid ":guilabel:`Individual` contacts can have a :guilabel:`Company` contact linked to it. After selecting :guilabel:`Individual`, a new :guilabel:`Company Name...` field appears below the first name field." -msgstr "" - -#: ../../content/applications/essentials/contacts.rst:35 -msgid "Address" -msgstr "" - -#: ../../content/applications/essentials/contacts.rst:37 -msgid "Next, enter the :guilabel:`Address` of the :guilabel:`Company` or :guilabel:`Individual`." -msgstr "" - -#: ../../content/applications/essentials/contacts.rst:40 -msgid "If the :guilabel:`Individual` option is chosen, then the *type of address* can be chosen from a drop-down menu. Options for this drop-down menu include: :guilabel:`Contact`, :guilabel:`Invoice Address`, :guilabel:`Delivery Address`, :guilabel:`Other Address`, and :guilabel:`Private Address`." -msgstr "" - -#: ../../content/applications/essentials/contacts.rst:46 +#: ../../content/applications/essentials/contacts.rst:33 msgid "Additional fields" msgstr "" -#: ../../content/applications/essentials/contacts.rst:48 +#: ../../content/applications/essentials/contacts.rst:35 msgid "Additional details are included on the initial form. The following fields are available:" msgstr "" -#: ../../content/applications/essentials/contacts.rst:50 -msgid ":guilabel:`VAT`: Value Added Tax number." -msgstr "" - -#: ../../content/applications/essentials/contacts.rst:51 -msgid ":guilabel:`Citizen Identification`: citizen or government identification number (only available on :guilabel:`Individual`)." -msgstr "" - -#: ../../content/applications/essentials/contacts.rst:53 -msgid ":guilabel:`Job Position`: list the job position of the :guilabel:`Individual` (only available on :guilabel:`Individual`)." -msgstr "" - -#: ../../content/applications/essentials/contacts.rst:55 -msgid ":guilabel:`Phone`: list phone number (with country code). Make a call, send an SMS, or WhatsApp message by hovering over the field on the saved form, and clicking the desired option." +#: ../../content/applications/essentials/contacts.rst:37 +msgid ":guilabel:`Job Position`: list the job position of the :guilabel:`Person` (only available on :guilabel:`Person`)." msgstr "" -#: ../../content/applications/essentials/contacts.rst:57 -msgid ":guilabel:`Mobile`: list mobile phone number (with country code). Make a call, send an SMS, or WhatsApp message by hovering over the field on the saved form, and clicking on the desired option." +#: ../../content/applications/essentials/contacts.rst:39 +msgid ":guilabel:`Tax ID`: the identification number used for tax and accounting purposes." msgstr "" -#: ../../content/applications/essentials/contacts.rst:59 -msgid ":guilabel:`Email`: enter the email address with the domain." +#: ../../content/applications/essentials/contacts.rst:40 +msgid ":guilabel:`Partner Level`: select the designated :ref:`partner ` level for this contact from the drop-down menu." msgstr "" -#: ../../content/applications/essentials/contacts.rst:60 +#: ../../content/applications/essentials/contacts.rst:42 msgid ":guilabel:`Website`: enter the full website address, starting with `http` or `https`." msgstr "" -#: ../../content/applications/essentials/contacts.rst:61 -msgid ":guilabel:`Title`: select :guilabel:`Doctor`, :guilabel:`Madam`, :guilabel:`Miss`, :guilabel:`Mister`, :guilabel:`Professor`, or create a new one directly from this field." +#: ../../content/applications/essentials/contacts.rst:43 +msgid ":guilabel:`Language`: enter the language used by the contact. All of the emails and documents sent to this contact are then translated to the selected language." msgstr "" -#: ../../content/applications/essentials/contacts.rst:63 +#: ../../content/applications/essentials/contacts.rst:45 msgid ":guilabel:`Tags`: enter preconfigured tags by typing them in the field, or clicking the drop-down menu, and selecting one. To create a new one, type the new tag in the field, and click :guilabel:`Create` from the resulting drop-down menu." msgstr "" -#: ../../content/applications/essentials/contacts.rst:68 -msgid "Contacts & Addresses tab" +#: ../../content/applications/essentials/contacts.rst:50 +msgid "Contacts tab" msgstr "" -#: ../../content/applications/essentials/contacts.rst:70 -msgid "At the bottom of the contact form are several tabs. On the :guilabel:`Contacts & Addresses` tab, contacts can be added that are associated with a :guilabel:`Company` and related addresses. For example, a specific contact person for the company can be listed here." +#: ../../content/applications/essentials/contacts.rst:52 +msgid "On the :guilabel:`Contacts` tab, contacts can be added that are associated with a :guilabel:`Company` and related addresses. For example, a specific contact person for the company can be listed here." msgstr "" -#: ../../content/applications/essentials/contacts.rst:74 -msgid "Multiple addresses can be added on both :guilabel:`Individual` and :guilabel:`Company` contacts. To do so, click :guilabel:`Add` in the :guilabel:`Contacts & Addresses` tab. Doing so reveals a :guilabel:`Create Contact` pop-up form, in which additional addresses can be configured." +#: ../../content/applications/essentials/contacts.rst:56 +msgid "Multiple addresses can be added on both :guilabel:`Person` and :guilabel:`Company` contacts. To do so, click :guilabel:`Add Contact` in the :guilabel:`Contacts` tab. Doing so reveals a :guilabel:`Create Contact` pop-up form, in which additional addresses can be configured." msgstr "" #: ../../content/applications/essentials/contacts.rst:-1 msgid "Add a contact/address to the contact form." msgstr "" -#: ../../content/applications/essentials/contacts.rst:82 -msgid "On the :guilabel:`Create Contact` pop-up form, start by clicking the default :guilabel:`Other Address` field at the top to reveal a drop-down menu of address-related options." -msgstr "" - -#: ../../content/applications/essentials/contacts.rst:85 -msgid "Select any of the following options:" +#: ../../content/applications/essentials/contacts.rst:63 +msgid "On the :guilabel:`Create Contact` pop-up form, select one of the following options:" msgstr "" -#: ../../content/applications/essentials/contacts.rst:87 +#: ../../content/applications/essentials/contacts.rst:65 msgid ":guilabel:`Contact`: adds another contact to the existing contact form." msgstr "" -#: ../../content/applications/essentials/contacts.rst:88 -msgid ":guilabel:`Invoice Address`: adds a specific invoice address to the existing contact form." +#: ../../content/applications/essentials/contacts.rst:66 +msgid ":guilabel:`Invoice`: adds a specific invoice address to the existing contact form." msgstr "" -#: ../../content/applications/essentials/contacts.rst:89 -msgid ":guilabel:`Delivery Address`: adds a specific delivery address to the existing contact form." +#: ../../content/applications/essentials/contacts.rst:67 +msgid ":guilabel:`Delivery`: adds a specific delivery address to the existing contact form." msgstr "" -#: ../../content/applications/essentials/contacts.rst:90 -msgid ":guilabel:`Other Address`: adds an alternate address to the existing contact form." -msgstr "" - -#: ../../content/applications/essentials/contacts.rst:91 -msgid ":guilabel:`Private Address`: adds a private address to the existing contact form." +#: ../../content/applications/essentials/contacts.rst:68 +msgid ":guilabel:`Other`: adds an alternate address to the existing contact form." msgstr "" #: ../../content/applications/essentials/contacts.rst:-1 msgid "Create a new contact/address on a contact form." msgstr "" -#: ../../content/applications/essentials/contacts.rst:97 +#: ../../content/applications/essentials/contacts.rst:73 msgid "Once an option is selected, enter the corresponding contact information that should be used for the specified address type." msgstr "" -#: ../../content/applications/essentials/contacts.rst:100 +#: ../../content/applications/essentials/contacts.rst:76 msgid "Add the :guilabel:`Contact Name`, :guilabel:`Address`, :guilabel:`Email`, along with the :guilabel:`Phone` and/or :guilabel:`Mobile` numbers below." msgstr "" -#: ../../content/applications/essentials/contacts.rst:103 -msgid "Set the :guilabel:`Job Position`, which appears if the :guilabel:`Contact` address type has been selected. This is similar to the :guilabel:`Individual` contact." +#: ../../content/applications/essentials/contacts.rst:79 +msgid "Set the :guilabel:`Job Position`, which appears if the :guilabel:`Contact` address type has been selected. This is similar to the :guilabel:`Person` contact." msgstr "" -#: ../../content/applications/essentials/contacts.rst:106 +#: ../../content/applications/essentials/contacts.rst:82 msgid "To add a note, click on the text field next to :guilabel:`Notes`, and write anything that is applicable to the customer or contact." msgstr "" -#: ../../content/applications/essentials/contacts.rst:109 +#: ../../content/applications/essentials/contacts.rst:85 msgid "Then, click :guilabel:`Save & Close` to save the address, and close the :guilabel:`Create Contact` window. Or, click :guilabel:`Save & New` to save the address, and immediately input another one." msgstr "" -#: ../../content/applications/essentials/contacts.rst:113 +#: ../../content/applications/essentials/contacts.rst:89 msgid "Sales & Purchase tab" msgstr "" -#: ../../content/applications/essentials/contacts.rst:115 +#: ../../content/applications/essentials/contacts.rst:91 msgid "Next, is the :guilabel:`Sales & Purchases` tab, which only appears when the *Sales*, *Purchase*, **or** *Point of Sale* applications are installed." msgstr "" -#: ../../content/applications/essentials/contacts.rst:118 +#: ../../content/applications/essentials/contacts.rst:94 msgid "The :guilabel:`Fiscal Position` can be set on the :guilabel:`Sales & Purchases` tab. Select a :guilabel:`Fiscal Position` from the drop-down menu." msgstr "" -#: ../../content/applications/essentials/contacts.rst:122 +#: ../../content/applications/essentials/contacts.rst:100 msgid "Sales section" msgstr "" -#: ../../content/applications/essentials/contacts.rst:124 +#: ../../content/applications/essentials/contacts.rst:102 msgid "Under the :guilabel:`Sales` heading, a specific :guilabel:`Salesperson` can be assigned to a contact. To do that, click the :guilabel:`Salesperson` drop-down field, and select one. Create a new :guilabel:`Salesperson` by typing the user's name, and making the appropriate selection." msgstr "" -#: ../../content/applications/essentials/contacts.rst:128 +#: ../../content/applications/essentials/contacts.rst:106 msgid "Certain :guilabel:`Payment Terms`, or a certain :guilabel:`Pricelist`, can also be set, if needed. Click the drop-down menu next to :guilabel:`Payment Terms`, and change it to one of the preselected :guilabel:`Payment Terms`, or :guilabel:`Create` a new one. Select the :guilabel:`Pricelist` drop-down menu to choose the appropriate :guilabel:`Pricelist`." msgstr "" -#: ../../content/applications/essentials/contacts.rst:133 +#: ../../content/applications/essentials/contacts.rst:111 msgid "Click into the :guilabel:`Delivery Method` field to select an option from the drop-down menu." msgstr "" -#: ../../content/applications/essentials/contacts.rst:136 +#: ../../content/applications/essentials/contacts.rst:114 msgid "Point Of Sale section" msgstr "" -#: ../../content/applications/essentials/contacts.rst:138 -msgid "Under the :guilabel:`Point Of Sale` heading, enter a :guilabel:`Barcode` that can be used to identify the contact. Use the :guilabel:`Loyalty Points` field to track points the user won as part of a *Loyalty Program*." +#: ../../content/applications/essentials/contacts.rst:116 +msgid "Under the :guilabel:`Point Of Sale` heading, enter a :guilabel:`Barcode` that can be used to identify the contact." msgstr "" -#: ../../content/applications/essentials/contacts.rst:143 +#: ../../content/applications/essentials/contacts.rst:120 msgid "Purchase section" msgstr "" -#: ../../content/applications/essentials/contacts.rst:145 -msgid "Specify :guilabel:`Payment Terms`, :guilabel:`1099 Box` information, and a preferred :guilabel:`Payment Method` here. A :guilabel:`Receipt Reminder` can be set here, as well." +#: ../../content/applications/essentials/contacts.rst:122 +msgid "Under the :guilabel:`Purchase` heading, select how :abbr:`RFQs (requests for quotation)` for this contact should be grouped together:" +msgstr "" + +#: ../../content/applications/essentials/contacts.rst:125 +msgid ":guilabel:`On Order`: replenishment needs are grouped together except for :abbr:`MTO (made to order)`" +msgstr "" + +#: ../../content/applications/essentials/contacts.rst:127 +msgid ":guilabel:`Daily`: replenishment needs are grouped if the expected arrival is the same day." +msgstr "" + +#: ../../content/applications/essentials/contacts.rst:128 +msgid ":guilabel:`Weekly`: replenishment needs are grouped if the expected arrival is the same week or week day." msgstr "" -#: ../../content/applications/essentials/contacts.rst:149 +#: ../../content/applications/essentials/contacts.rst:130 +msgid ":guilabel:`Always`: replenishment needs are always grouped." +msgstr "" + +#: ../../content/applications/essentials/contacts.rst:132 +msgid "Select a default :guilabel:`Buyer` if the :abbr:`RFQs (requests for quotation)` should always be assigned to the same user." +msgstr "" + +#: ../../content/applications/essentials/contacts.rst:135 +msgid "Specify :guilabel:`Payment Terms`, :guilabel:`1099 Box` information, and a preferred :guilabel:`Payment Method` here. A :guilabel:`Receipt Reminder` can be set here, as well. Select a :guilabel:`Supplier Currency` to be used for purchases from the contact." +msgstr "" + +#: ../../content/applications/essentials/contacts.rst:140 +msgid "Fiscal information" +msgstr "" + +#: ../../content/applications/essentials/contacts.rst:142 +msgid "To assign a :guilabel:`Fiscal Position` to this contact, select it from the drop-down menu." +msgstr "" + +#: ../../content/applications/essentials/contacts.rst:145 msgid "Misc section" msgstr "" +#: ../../content/applications/essentials/contacts.rst:147 +msgid "Under the :guilabel:`Misc.` heading, enter a :guilabel:`Citizen Identification` number for *Person* contacts, or :guilabel:`Company ID` for *Company* contacts. Use :guilabel:`Reference` field to add any additional information for this contact." +msgstr "" + #: ../../content/applications/essentials/contacts.rst:151 -msgid "Under the :guilabel:`Misc.` heading, use :guilabel:`Reference` field to add any additional information for this contact. If this contact should only be accessible for one company in a multi-company database, select it from the :guilabel:`Company` field drop-down list. Use the :guilabel:`Website` drop-down menu to restrict the publishing of this contact to one website (if working on a database with multiple websites). Select one or more :guilabel:`Website Tags` to assist in filtering published customers on the `/customers` website page. Select an :guilabel:`Industry` for this contact from the drop-down menu. Use the :guilabel:`SLA Policies` field to assign a *Helpdesk* SLA policy to this contact." +msgid "If this contact should only be accessible for one company in a multi-company database, select it from the :guilabel:`Company` field drop-down list. Use the :guilabel:`Website` drop-down menu to restrict the publishing of this contact to one website (if working on a database with multiple websites)." +msgstr "" + +#: ../../content/applications/essentials/contacts.rst:156 +msgid "Select one or more :guilabel:`Website Tags` to assist in filtering published customers on the `/customers` website page. Select an :guilabel:`Industry` for this contact from the drop-down menu. Use the :guilabel:`SLA Policies` field to assign a *Helpdesk* SLA policy to this contact." msgstr "" #: ../../content/applications/essentials/contacts.rst:161 -msgid "Accounting tab" +msgid "Inventory section" msgstr "" #: ../../content/applications/essentials/contacts.rst:163 -msgid "The :guilabel:`Accounting` tab appears when the *Accounting* application is installed. Here, a user can add any related :guilabel:`Bank Accounts`, or set default :guilabel:`Accounting entries`." +msgid "Under the :guilabel:`Inventory` heading, use the :guilabel:`Customer Location` drop-down to select the stock location to be used as a destination when sending goods to this contact. Next, use the :guilabel:`Vendor Location` drop-down to selection the stock location used as a source when recieving goods from this contact. Finally, use the :guilabel:`Subcontractor Location` drop-down to idenfy a location used as both a source and destination when sending goods to this contact during a subcontracting process." msgstr "" -#: ../../content/applications/essentials/contacts.rst:166 -msgid "Under the :guilabel:`Miscellaneous` heading, use the :guilabel:`LEI` field to enter a Legal Entity Identifier, if necessary." +#: ../../content/applications/essentials/contacts.rst:171 +msgid "Accounting tab" msgstr "" -#: ../../content/applications/essentials/contacts.rst:170 -msgid "Internal Notes tab" +#: ../../content/applications/essentials/contacts.rst:173 +msgid "The :guilabel:`Accounting` tab appears when the *Accounting* application is installed. Here, a user can add any related :guilabel:`Bank Accounts`, or set default :guilabel:`Accounting entries`." msgstr "" -#: ../../content/applications/essentials/contacts.rst:172 -msgid "Following the :guilabel:`Accounting` tab is the :guilabel:`Internal Notes` tab, where notes can be left on this contact form, just like on the contact form noted above." +#: ../../content/applications/essentials/contacts.rst:176 +msgid "Under the :ref:`Invoice Follow-Ups ` heading, the :guilabel:`Follow-up Status` indicates if the contact currently has any overdue payments. To configure :guilabel:`Reminders` for this contact, use the radio buttons to select either :guilabel:`Automatic` or :guilabel:`Manual` reminders, as well as schedule the :guilabel:`Next Reminder`." msgstr "" -#: ../../content/applications/essentials/contacts.rst:176 +#: ../../content/applications/essentials/contacts.rst:185 msgid "Partner Assignment tab" msgstr "" -#: ../../content/applications/essentials/contacts.rst:178 +#: ../../content/applications/essentials/contacts.rst:187 msgid "Next is the :guilabel:`Partner Assignment` tab, which by default, includes a :guilabel:`Geolocation` section, and other partner options, including :guilabel:`Partner Activation` and :guilabel:`Partner Review` configurations. These are **only** present when the *Resellers* module is installed." msgstr "" -#: ../../content/applications/essentials/contacts.rst:183 +#: ../../content/applications/essentials/contacts.rst:192 msgid "Follow the :doc:`Resellers documentation <../sales/crm/track_leads/resellers>` for more information on publishing partners on the website." msgstr "" -#: ../../content/applications/essentials/contacts.rst:187 +#: ../../content/applications/essentials/contacts.rst:196 +msgid "Internal Notes tab" +msgstr "" + +#: ../../content/applications/essentials/contacts.rst:198 +msgid "Following the :guilabel:`Accounting` tab is the :guilabel:`Internal Notes` tab, where notes can be left on this contact form, just like on the contact form noted above." +msgstr "" + +#: ../../content/applications/essentials/contacts.rst:202 +msgid "UBO tab" +msgstr "" + +#: ../../content/applications/essentials/contacts.rst:204 +msgid "The UBO (Ultimate Beneficial Owner) tab contains a snapshot of the *Holdings* information from the :guilabel:`Equity` app, as well as information for the individual contact, including their :guilabel:`Birth Date` and :guilabel:`Birth Place`." +msgstr "" + +#: ../../content/applications/essentials/contacts.rst:208 +msgid "The :guilabel:`UBO` tab is **only** present when the *Equity* app is installed." +msgstr "" + +#: ../../content/applications/essentials/contacts.rst:210 +msgid "To request the information required for the :abbr:`UBO (Ultimate Beneficial Owner)` tab, click the :icon:`fa-cog` :guilabel:`Action` icon, then select :guilabel:`Request UBO Form` to send an email to the contact." +msgstr "" + +#: ../../content/applications/essentials/contacts.rst:215 msgid "Smart buttons" msgstr "" -#: ../../content/applications/essentials/contacts.rst:189 +#: ../../content/applications/essentials/contacts.rst:217 msgid "At the top of the contact form, there are some additional options available, known as *smart buttons*." msgstr "" -#: ../../content/applications/essentials/contacts.rst:192 +#: ../../content/applications/essentials/contacts.rst:220 msgid "Here, Odoo displays a variety of records, related to this contact, that were created on other apps. Odoo integrates information from every single app, so there are many smart buttons." msgstr "" -#: ../../content/applications/essentials/contacts.rst:196 +#: ../../content/applications/essentials/contacts.rst:224 msgid "For example, there is an :guilabel:`Opportunities` smart button, where all the opportunities related to this customer from the *CRM* app are accessible." msgstr "" -#: ../../content/applications/essentials/contacts.rst:200 +#: ../../content/applications/essentials/contacts.rst:228 msgid "If the corresponding applications are installed, their related smart buttons appear automatically on a contact form." msgstr "" -#: ../../content/applications/essentials/contacts.rst:203 +#: ../../content/applications/essentials/contacts.rst:231 msgid "A user can see any :guilabel:`Meetings`, :guilabel:`Sales`, :guilabel:`POS Orders`, :guilabel:`Subscriptions`, project :guilabel:`Tasks`, and the :guilabel:`More` smart button reveals additional options, via a drop-down menu. A user can even quickly access :guilabel:`Purchases`, :guilabel:`Helpdesk` tasks, :guilabel:`On-time Rate` for deliveries, :guilabel:`Invoiced` information, :guilabel:`Vendor Bills`, and the :guilabel:`Partner Ledger` connected to this contact." msgstr "" -#: ../../content/applications/essentials/contacts.rst:209 +#: ../../content/applications/essentials/contacts.rst:237 msgid "Deliveries, documents, loyalty cards, and direct debits are *also* linked to smart buttons, like this, should there be any outstanding/on-file for this contact." msgstr "" -#: ../../content/applications/essentials/contacts.rst:212 +#: ../../content/applications/essentials/contacts.rst:240 msgid "If the contact is a partner, the user can visit their partner page on the Odoo-built website by clicking the :guilabel:`Go to Website` smart button." msgstr "" -#: ../../content/applications/essentials/contacts.rst:216 +#: ../../content/applications/essentials/contacts.rst:244 msgid "Archive contacts" msgstr "" -#: ../../content/applications/essentials/contacts.rst:218 +#: ../../content/applications/essentials/contacts.rst:246 msgid "If a user decides they no longer want to have this contact active, the record can be archived. To do that, go to the :icon:`fa-cog` :guilabel:`Action` menu at the top of the contact form, and click :guilabel:`Archive`." msgstr "" -#: ../../content/applications/essentials/contacts.rst:222 -msgid "Then, click :guilabel:`OK` from the resulting :guilabel:`Confirmation` pop-up window." +#: ../../content/applications/essentials/contacts.rst:250 +msgid "Then, click :guilabel:`Archive` from the resulting :guilabel:`Confirmation` pop-up window." msgstr "" -#: ../../content/applications/essentials/contacts.rst:224 +#: ../../content/applications/essentials/contacts.rst:252 msgid "With this contact successfully archived, as indicated by a banner at the top, they do not show up in the main contacts page, but they can still be searched for with the :guilabel:`Archived` filter." msgstr "" -#: ../../content/applications/essentials/contacts.rst:228 +#: ../../content/applications/essentials/contacts.rst:256 msgid "A contact can be *unarchived*, if the user decides to work with them again. To do that, just click the :icon:`fa-cog` :guilabel:`Action` menu again at the top of the archived contact form, and click :guilabel:`Unarchive`. Upon doing so, the :guilabel:`Archived` banner is removed, and the contact is restored." msgstr "" -#: ../../content/applications/essentials/contacts.rst:234 +#: ../../content/applications/essentials/contacts.rst:262 msgid ":doc:`Add different addresses in CRM <../sales/sales/sales_quotations/different_addresses>`" msgstr "" -#: ../../content/applications/essentials/contacts.rst:235 +#: ../../content/applications/essentials/contacts.rst:263 msgid "`Odoo's eLearning Contacts tutorial `_" msgstr "" @@ -1498,7 +1526,7 @@ msgid "Odoo rich-text editor" msgstr "" #: ../../content/applications/essentials/html_editor.rst:7 -msgid "The Odoo rich-text editor allows creating and editing rich-text content in HTML fields, such as the :guilabel:`Internal Notes` and :guilabel:`Description` fields, as well as in the :ref:`Knowledge articles ` and the :ref:`Studio report editor `, among others. Start typing or use the :ref:`toolbar ` or :ref:`powerbox ` for formatting and structuring text." +msgid "The Odoo rich-text editor allows for creating and editing rich-text content in HTML fields, such as the :guilabel:`Internal Notes` and :guilabel:`Description` fields, as well as in the :ref:`Knowledge articles ` and the :ref:`Studio report editor `, among others. Start typing or use the :ref:`toolbar ` or :ref:`powerbox ` for formatting and structuring text." msgstr "" #: ../../content/applications/essentials/html_editor.rst:15 @@ -1510,567 +1538,594 @@ msgid "Text editor toolbar" msgstr "" #: ../../content/applications/essentials/html_editor.rst:24 -msgid "To edit a word, sentence, or paragraph, select or double-click it to display the text editor toolbar and apply any of the following formatting options:" +msgid "To edit a word, sentence, or paragraph, select or double-click it to display the text editor toolbar and apply any of the following standard formatting options:" msgstr "" #: ../../content/applications/essentials/html_editor.rst:27 -msgid "**Font style**: Change the style using various options, such as :guilabel:`Header 1 to 6, Normal, Paragraph, Code`, and :guilabel:`Quote`." +msgid "**Font style**: Define the font style using various options, such as :guilabel:`Header 1 to 6, Normal, Paragraph, Code`, and :guilabel:`Quote`." msgstr "" #: ../../content/applications/essentials/html_editor.rst:29 -msgid ":guilabel:`B`: Put the text in bold." +msgid "**Font size**: Select the preferred font size." msgstr "" #: ../../content/applications/essentials/html_editor.rst:30 -msgid ":guilabel:`I`: Put the text in italics." +msgid ":icon:`fa-bold` (:guilabel:`Toggle bold`): Put the text in bold." msgstr "" #: ../../content/applications/essentials/html_editor.rst:31 -msgid ":guilabel:`U`: Underline the text." +msgid ":icon:`fa-italic` (:guilabel:`Toggle italic`): Put the text in italics." msgstr "" #: ../../content/applications/essentials/html_editor.rst:32 -msgid ":guilabel:`S`: Strike through the text." +msgid ":icon:`fa-underline` (:guilabel:`Toggle underline`): Underline the text." msgstr "" #: ../../content/applications/essentials/html_editor.rst:33 -msgid ":guilabel:`A` and :icon:`fa-paint-brush` :guilabel:`(paintbrush)` to customize the font and background colors, respectively:" +msgid ":icon:`fa-font` (:guilabel:`Apply Font Color`): Customize the font colors:" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:36 +#: ../../content/applications/essentials/html_editor.rst:35 msgid ":guilabel:`Solid`: Select the preferred color from the predefined palette." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:37 +#: ../../content/applications/essentials/html_editor.rst:36 msgid ":guilabel:`Custom`: Customize the color palette using the wheel or by configuring the :guilabel:`hex` code and :guilabel:`RGBA` values." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:39 +#: ../../content/applications/essentials/html_editor.rst:38 msgid ":guilabel:`Gradient`: Select a predefined gradient or customize it by choosing between :guilabel:`Linear` or :guilabel:`Radial` and adjusting the wheel." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:42 -msgid "**Font size**: Adjust the size of the text." +#: ../../content/applications/essentials/html_editor.rst:40 +msgid ":icon:`fa-trash` (:guilabel:`Reset`): Restore the original font/background color." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:43 -msgid ":icon:`fa-list-ul` (:guilabel:`bulleted list`): Turn the text into a bulleted list." +#: ../../content/applications/essentials/html_editor.rst:42 +msgid ":icon:`fa-link` (:guilabel:`Add a link`): Insert or edit a URL link to a selected text, and optionally upload an image using its file URL." msgstr "" #: ../../content/applications/essentials/html_editor.rst:44 -msgid ":icon:`fa-list-ol` (:guilabel:`numbered list`): Turn the text into a numbered list." +msgid ":guilabel:`Odoo AI`: Write a prompt and get AI-generated content. Optionally, click the AI suggestions instead of writing a prompt." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:45 -msgid ":icon:`fa-check-square-o` (:guilabel:`checklist`): Turn the text into a checklist." +#: ../../content/applications/essentials/html_editor.rst:47 +msgid "Click the :icon:`fa-ellipsis-v` (:guilabel:`Expand toolbar`) icon to display additional formatting options:" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:46 -msgid ":icon:`fa-link` (:guilabel:`link`): Insert or edit a URL link to a selected text, and optionally upload an image using its file URL." +#: ../../content/applications/essentials/html_editor.rst:50 +msgid "**Font family**: Use the :guilabel:`Default system font` or select a preferred font family for the text." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:48 -msgid ":guilabel:`Translate`: Translate the content in the :doc:`installed languages `." +#: ../../content/applications/essentials/html_editor.rst:52 +msgid ":icon:`fa-strikethrough` (:guilabel:`Toggle strikethrough`): Strike through the text." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:50 -msgid ":icon:`fa-magic` :guilabel:`AI` (:guilabel:`ChatGPT`): Get AI-generated suggestions and adjust the tone by clicking buttons such as :guilabel:`Correct, Shorten, Lengthen, Friendly, Professional`, and :guilabel:`Persuasive`." +#: ../../content/applications/essentials/html_editor.rst:53 +msgid ":icon:`fa-paint-brush` :guilabel:`(Apply Background Color)`: Customize the background colors." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:-1 -msgid "Text editor's toolbox" +#: ../../content/applications/essentials/html_editor.rst:54 +msgid ":icon:`fa-eraser` (:guilabel:`Remove Format`): Remove all formatting applied to a selected text." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:62 -msgid "Use the following keyboard shortcuts to apply formatting:" +#: ../../content/applications/essentials/html_editor.rst:55 +msgid ":icon:`fa-list-ul` (:guilabel:`Toggle List`): Select the following list options:" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:60 -msgid "**Emphasis**: Press `CTRL`/`CMD` + `B`, `CTRL`/`CMD` + `I`, or `CTRL`/`CMD` + `U` to apply the bold, italics, or underlined effect." +#: ../../content/applications/essentials/html_editor.rst:57 +msgid ":icon:`fa-list-ul` (:guilabel:`Bulleted list`): Turn the text into a bulleted list." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:62 -msgid "**Numbered list**: Type `1.`, `1)`, `A.`, or `A)` to start a numbered list." +#: ../../content/applications/essentials/html_editor.rst:58 +msgid ":icon:`fa-list-ol` (:guilabel:`Numbered list`): Turn the text into a numbered list." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:63 -msgid "**Bulleted list**: Type `*` or `-` to start a bulleted list." +#: ../../content/applications/essentials/html_editor.rst:59 +msgid ":icon:`fa-check-square-o` (:guilabel:`Checklist`): Turn the text into a checklist." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:68 -msgid "Powerbox commands" +#: ../../content/applications/essentials/html_editor.rst:61 +msgid ":icon:`fa-align-left` (:guilabel:`Align text`): Select the following text alignments:" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:70 -msgid "To use a command, type `/` to open the powerbox, then enter the command's name or select from multiple features to insert tables, images, banners, etc." +#: ../../content/applications/essentials/html_editor.rst:63 +msgid ":icon:`fa-align-left` (:guilabel:`align left`): Align the text on the left." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:74 -msgid "Starting a new paragraph displays a tooltip with command shortcut icons. Click an icon to add the command, or click the :icon:`fa-ellipsis-v` (:guilabel:`ellipsis`) icon to open the powerbox for all commands." +#: ../../content/applications/essentials/html_editor.rst:64 +msgid ":icon:`fa-align-center` (:guilabel:`align center`): Align the text in the center." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:79 -msgid "Commands specific to particular apps are excluded from this description." +#: ../../content/applications/essentials/html_editor.rst:65 +msgid ":icon:`fa-align-right` (:guilabel:`align right`): Align the text on the right." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:82 -msgid "Structure" +#: ../../content/applications/essentials/html_editor.rst:66 +msgid ":icon:`fa-align-justify` (:guilabel:`justify`): Apply straight edges to both text margins." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:89 -#: ../../content/applications/essentials/html_editor.rst:124 -#: ../../content/applications/essentials/html_editor.rst:142 -#: ../../content/applications/essentials/html_editor.rst:162 -#: ../../content/applications/essentials/html_editor.rst:180 -#: ../../content/applications/essentials/html_editor.rst:205 -#: ../../content/applications/essentials/html_editor.rst:221 -#: ../../content/applications/essentials/html_editor.rst:233 -msgid "Command" +#: ../../content/applications/essentials/html_editor.rst:68 +msgid ":guilabel:`Translate with AI`: Translate the content in the :doc:`installed languages ` with AI." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:90 -#: ../../content/applications/essentials/html_editor.rst:125 -#: ../../content/applications/essentials/html_editor.rst:143 -#: ../../content/applications/essentials/html_editor.rst:163 -#: ../../content/applications/essentials/html_editor.rst:181 -#: ../../content/applications/essentials/html_editor.rst:206 -#: ../../content/applications/essentials/html_editor.rst:222 -#: ../../content/applications/essentials/html_editor.rst:234 -#: ../../content/applications/essentials/property_fields.rst:34 -msgid "Use" +#: ../../content/applications/essentials/html_editor.rst:-1 +msgid "Text editor's toolbox" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:91 -#: ../../content/applications/essentials/property_fields.rst:89 -msgid ":guilabel:`Separator`" +#: ../../content/applications/essentials/html_editor.rst:75 +msgid "Use the following keyboard shortcuts to apply formatting:" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:92 -msgid "Insert a horizontal rule separator." +#: ../../content/applications/essentials/html_editor.rst:77 +msgid "**Emphasis**: Press `CTRL`/`CMD` + `B`, `CTRL`/`CMD` + `I`, or `CTRL`/`CMD` + `U` to apply the bold, italics, or underlined effect." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:93 -msgid ":guilabel:`2 columns`" +#: ../../content/applications/essentials/html_editor.rst:79 +msgid "**Numbered list**: Type `1.`, `1)`, `A.`, or `A)` to start a numbered list." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:94 -msgid "Convert into 2 columns." +#: ../../content/applications/essentials/html_editor.rst:80 +msgid "**Bulleted list**: Type `*` or `-` to start a bulleted list." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:95 -msgid ":guilabel:`3 columns`" +#: ../../content/applications/essentials/html_editor.rst:82 +msgid "Click a hyperlinked text and perform one of the following actions: :icon:`fa-clipboard` (:guilabel:`Copy Link`), :icon:`fa-pencil-square-o` (:guilabel:`Edit Link`), or :icon:`fa-chain-broken` (:guilabel:`Remove Link`)." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:96 -msgid "Convert into 3 columns." +#: ../../content/applications/essentials/html_editor.rst:89 +msgid "Powerbox commands" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:97 -msgid ":guilabel:`4 columns`" +#: ../../content/applications/essentials/html_editor.rst:91 +msgid "Commands enable editing and managing various types of features within the text editor, such as tables, banners, headers, and more." +msgstr "" + +#: ../../content/applications/essentials/html_editor.rst:94 +msgid "To use a command, type `/` to open the powerbox, then enter the command's name or select from multiple features to insert tables, images, banners, etc." msgstr "" #: ../../content/applications/essentials/html_editor.rst:98 -msgid "Convert into 4 columns." +msgid "Starting a new paragraph displays a tooltip with command shortcut icons. Click an icon to add the command, or click the :icon:`fa-ellipsis-v` (:guilabel:`ellipsis`) icon to open the powerbox for all commands." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:99 -msgid ":guilabel:`Table`" +#: ../../content/applications/essentials/html_editor.rst:103 +msgid "Commands specific to particular apps are excluded from this description." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:100 -msgid "Insert a table." +#: ../../content/applications/essentials/html_editor.rst:106 +msgid "Structure" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:101 -msgid ":guilabel:`Bulleted list`" +#: ../../content/applications/essentials/html_editor.rst:113 +#: ../../content/applications/essentials/html_editor.rst:146 +#: ../../content/applications/essentials/html_editor.rst:164 +#: ../../content/applications/essentials/html_editor.rst:188 +#: ../../content/applications/essentials/html_editor.rst:204 +#: ../../content/applications/essentials/html_editor.rst:222 +msgid "Command" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:102 -msgid "Create a bulleted list." +#: ../../content/applications/essentials/html_editor.rst:114 +#: ../../content/applications/essentials/html_editor.rst:147 +#: ../../content/applications/essentials/html_editor.rst:165 +#: ../../content/applications/essentials/html_editor.rst:189 +#: ../../content/applications/essentials/html_editor.rst:205 +#: ../../content/applications/essentials/html_editor.rst:223 +#: ../../content/applications/essentials/property_fields.rst:34 +msgid "Use" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:103 -msgid ":guilabel:`Numbered list`" +#: ../../content/applications/essentials/html_editor.rst:115 +msgid ":icon:`fa-minus` :guilabel:`Separator`" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:104 -msgid "Create a numbered list." +#: ../../content/applications/essentials/html_editor.rst:116 +msgid "Insert a horizontal rule separator." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:105 -msgid ":guilabel:`Checklist`" +#: ../../content/applications/essentials/html_editor.rst:117 +msgid ":icon:`fa-columns` :guilabel:`2 columns`" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:106 -msgid "Create a checklist." +#: ../../content/applications/essentials/html_editor.rst:118 +msgid "Convert into 2 columns." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:107 -msgid ":guilabel:`Quote`" +#: ../../content/applications/essentials/html_editor.rst:119 +msgid ":icon:`fa-columns` :guilabel:`3 columns`" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:108 -msgid "Add a blockquote section." +#: ../../content/applications/essentials/html_editor.rst:120 +msgid "Convert into 3 columns." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:109 -msgid ":guilabel:`Code`" +#: ../../content/applications/essentials/html_editor.rst:121 +msgid ":icon:`fa-columns` :guilabel:`4 columns`" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:110 -msgid "Add a code section." +#: ../../content/applications/essentials/html_editor.rst:122 +msgid "Convert into 4 columns." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:113 -msgid "To organize a table, hover over a column or row to reveal the table menu. Click the :icon:`fa-ellipsis-h` :guilabel:`(ellipsis)` icon to move, insert, or delete a column or row." +#: ../../content/applications/essentials/html_editor.rst:123 +msgid ":icon:`fa-table` :guilabel:`Table`" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:117 -msgid "Banner" +#: ../../content/applications/essentials/html_editor.rst:124 +msgid "Insert a table." +msgstr "" + +#: ../../content/applications/essentials/html_editor.rst:125 +msgid ":icon:`fa-list-ul` :guilabel:`Bulleted list`" msgstr "" #: ../../content/applications/essentials/html_editor.rst:126 -msgid ":guilabel:`Banner Info`" +msgid "Create a bulleted list." msgstr "" #: ../../content/applications/essentials/html_editor.rst:127 -msgid "Insert an info banner." +msgid ":icon:`fa-list-ol` :guilabel:`Numbered list`" msgstr "" #: ../../content/applications/essentials/html_editor.rst:128 -msgid ":guilabel:`Banner Success`" +msgid "Create a numbered list." msgstr "" #: ../../content/applications/essentials/html_editor.rst:129 -msgid "Insert a success banner." +msgid ":icon:`fa-check-square-o` :guilabel:`Checklist`" msgstr "" #: ../../content/applications/essentials/html_editor.rst:130 -msgid ":guilabel:`Banner Warning`" +msgid "Create a checklist." msgstr "" #: ../../content/applications/essentials/html_editor.rst:131 -msgid "Insert a warning banner." +msgid ":icon:`fa-caret-square-o-right` :guilabel:`Toggle list`" msgstr "" #: ../../content/applications/essentials/html_editor.rst:132 -msgid ":guilabel:`Banner Danger`" -msgstr "" - -#: ../../content/applications/essentials/html_editor.rst:133 -msgid "Insert a danger banner." +msgid "Hide a group of text under a foldable toggle." msgstr "" #: ../../content/applications/essentials/html_editor.rst:135 -msgid "Format" -msgstr "" - -#: ../../content/applications/essentials/html_editor.rst:144 -msgid ":guilabel:`Heading 1`" -msgstr "" - -#: ../../content/applications/essentials/html_editor.rst:145 -msgid "Big section heading." -msgstr "" - -#: ../../content/applications/essentials/html_editor.rst:146 -msgid ":guilabel:`Heading 2`" +msgid "To organize a table, hover over a column or row to reveal the table menu. Click the :icon:`fa-ellipsis-h` :guilabel:`(ellipsis)` icon to move, insert, or delete a column or row." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:147 -msgid "Medium section heading." +#: ../../content/applications/essentials/html_editor.rst:139 +msgid "Banner" msgstr "" #: ../../content/applications/essentials/html_editor.rst:148 -msgid ":guilabel:`Heading 3`" +msgid ":icon:`fa-info-circle` :guilabel:`Banner Info`" msgstr "" #: ../../content/applications/essentials/html_editor.rst:149 -msgid "Small section heading." +msgid "Insert an info banner." msgstr "" #: ../../content/applications/essentials/html_editor.rst:150 -msgid ":guilabel:`Text`" +msgid ":icon:`fa-check-circle` :guilabel:`Banner Success`" msgstr "" #: ../../content/applications/essentials/html_editor.rst:151 -msgid "Paragraph block: Insert a paragraph." +msgid "Insert a success banner." msgstr "" #: ../../content/applications/essentials/html_editor.rst:152 -msgid ":guilabel:`Switch direction`" +msgid ":icon:`fa-exclamation-triangle` :guilabel:`Banner Warning`" msgstr "" #: ../../content/applications/essentials/html_editor.rst:153 -msgid "Switch the text's direction." +msgid "Insert a warning banner." +msgstr "" + +#: ../../content/applications/essentials/html_editor.rst:154 +msgid ":icon:`fa-exclamation-circle` :guilabel:`Banner Danger`" msgstr "" #: ../../content/applications/essentials/html_editor.rst:155 -msgid "Media" +msgid "Insert a danger banner." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:164 -msgid ":guilabel:`Media`" +#: ../../content/applications/essentials/html_editor.rst:157 +msgid "Format" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:165 -msgid ":ref:`Insert an image ` or icon: :doc:`Search the Unsplash database ` or upload images, documents, or icons." +#: ../../content/applications/essentials/html_editor.rst:166 +msgid ":icon:`fa-header` :guilabel:`Heading 1`" msgstr "" #: ../../content/applications/essentials/html_editor.rst:167 -msgid ":guilabel:`Clipboard`" +msgid "Big section heading." msgstr "" #: ../../content/applications/essentials/html_editor.rst:168 -msgid "Add a clipboard section to store content and reuse it in other apps." +msgid ":icon:`fa-header` :guilabel:`Heading 2`" msgstr "" #: ../../content/applications/essentials/html_editor.rst:169 -msgid ":guilabel:`Upload a file`" +msgid "Medium section heading." msgstr "" #: ../../content/applications/essentials/html_editor.rst:170 -msgid "Add a download box: share images, recordings, or documents that internal users can download." +msgid ":icon:`fa-header` :guilabel:`Heading 3`" +msgstr "" + +#: ../../content/applications/essentials/html_editor.rst:171 +msgid "Small section heading." +msgstr "" + +#: ../../content/applications/essentials/html_editor.rst:172 +msgid ":icon:`fa-paragraph` :guilabel:`Text`" msgstr "" #: ../../content/applications/essentials/html_editor.rst:173 -msgid "Navigation" +msgid "Paragraph block: Insert a paragraph." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:182 -msgid ":guilabel:`Link`" +#: ../../content/applications/essentials/html_editor.rst:174 +msgid ":icon:`fa-exchange` :guilabel:`Switch direction`" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:183 -msgid "Add a link: Type the label and enter a URL or upload a file, then click :guilabel:`Apply`." +#: ../../content/applications/essentials/html_editor.rst:175 +msgid "Switch the text's direction." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:185 -msgid ":guilabel:`Button`" +#: ../../content/applications/essentials/html_editor.rst:176 +msgid ":icon:`fa-quote-right` :guilabel:`Quote`" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:186 -msgid "Add a button: Type the label, enter a URL or upload a file, select the button style, type, and size, then click :guilabel:`Apply`." +#: ../../content/applications/essentials/html_editor.rst:177 +msgid "Add a blockquote section." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:188 -msgid ":guilabel:`Article`" +#: ../../content/applications/essentials/html_editor.rst:178 +msgid ":icon:`fa-code` :guilabel:`Code`" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:189 -msgid "Insert a shortcut to a :doc:`Knowledge article `." +#: ../../content/applications/essentials/html_editor.rst:179 +msgid "Add a code section." +msgstr "" + +#: ../../content/applications/essentials/html_editor.rst:181 +msgid "Media" msgstr "" #: ../../content/applications/essentials/html_editor.rst:190 -msgid ":guilabel:`Appointment`" +msgid ":icon:`fa-file-image-o` :guilabel:`Media`" msgstr "" #: ../../content/applications/essentials/html_editor.rst:191 -msgid "Add a specific appointment: Select one or several appointment type(s) to assign to relevant users, then click :guilabel:`Insert a link`." +msgid ":ref:`Insert an image ` or icon: :doc:`Search the Unsplash database ` or upload images, documents, or icons." msgstr "" #: ../../content/applications/essentials/html_editor.rst:193 -msgid ":guilabel:`Table Of Content`" +msgid ":icon:`fa-upload` :guilabel:`Upload a file`" msgstr "" #: ../../content/applications/essentials/html_editor.rst:194 -msgid "Highlight the structure (headings): Create a table of content based on the headings." -msgstr "" - -#: ../../content/applications/essentials/html_editor.rst:195 -msgid ":guilabel:`Video Link`" +msgid "Add a download box: share images, recordings, or documents that internal users can download." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:196 -msgid "Insert a video: Copy-paste the video URL (Youtube, Vimeo, Dailymotion, and Youku only)." +#: ../../content/applications/essentials/html_editor.rst:197 +msgid "Navigation" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:198 -msgid "Widget" +#: ../../content/applications/essentials/html_editor.rst:206 +msgid ":icon:`fa-link` :guilabel:`Link`" msgstr "" #: ../../content/applications/essentials/html_editor.rst:207 -msgid ":guilabel:`Emoji`" -msgstr "" - -#: ../../content/applications/essentials/html_editor.rst:208 -msgid "Add an emoji: search for the desired emoji." +msgid "Add a link: Type the label and enter a URL or upload a file, then click :guilabel:`Apply`." msgstr "" #: ../../content/applications/essentials/html_editor.rst:209 -msgid ":guilabel:`3 Stars`" +msgid ":icon:`fa-link` :guilabel:`Button`" msgstr "" #: ../../content/applications/essentials/html_editor.rst:210 -msgid "Insert a rating of up to 3 stars." -msgstr "" - -#: ../../content/applications/essentials/html_editor.rst:211 -msgid ":guilabel:`5 Stars`" +msgid "Add a button: Type the label, enter a URL or upload a file, select the button style, type, and size, then click :guilabel:`Apply`." msgstr "" #: ../../content/applications/essentials/html_editor.rst:212 -msgid "Insert a rating of up to 5 stars." +msgid ":icon:`fa-bookmark` :guilabel:`Table Of Contents`" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:214 -msgid "AI Tools" +#: ../../content/applications/essentials/html_editor.rst:213 +msgid "Highlight the structure (headings): Create a table of content based on the headings." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:223 -msgid ":guilabel:`ChatGPT`" +#: ../../content/applications/essentials/html_editor.rst:215 +msgid "Widget" msgstr "" #: ../../content/applications/essentials/html_editor.rst:224 -msgid "Generate content with AI." +msgid ":icon:`fa-smile-o` :guilabel:`Emoji`" +msgstr "" + +#: ../../content/applications/essentials/html_editor.rst:225 +msgid "Add an emoji: search for the desired emoji." msgstr "" #: ../../content/applications/essentials/html_editor.rst:226 -msgid "Basic Block" +msgid ":icon:`fa-star-o` :guilabel:`3 Stars`" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:235 -msgid ":guilabel:`Signature`" +#: ../../content/applications/essentials/html_editor.rst:227 +msgid "Insert a rating of up to 3 stars." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:236 -msgid "Insert your signature." +#: ../../content/applications/essentials/html_editor.rst:228 +msgid ":icon:`fa-star` :guilabel:`5 Stars`" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:241 +#: ../../content/applications/essentials/html_editor.rst:229 +msgid "Insert a rating of up to 5 stars." +msgstr "" + +#: ../../content/applications/essentials/html_editor.rst:234 msgid "Insert media" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:243 -msgid "To insert media, type `/Media` or click the :icon:`fa-file-image-o` :guilabel:`(image)` icon in the tooltip, then choose from the following tabs:" +#: ../../content/applications/essentials/html_editor.rst:236 +msgid "To insert media, type `/Media` or click the :icon:`fa-file-image-o` :guilabel:`(media)` icon in the tooltip, then choose from the following tabs:" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:246 +#: ../../content/applications/essentials/html_editor.rst:239 msgid ":guilabel:`Images`" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:248 +#: ../../content/applications/essentials/html_editor.rst:241 msgid "Search the :doc:`Unsplash ` database to find a suitable image." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:250 +#: ../../content/applications/essentials/html_editor.rst:243 msgid ":guilabel:`Add URL`: Copy-paste the **image address**." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:251 +#: ../../content/applications/essentials/html_editor.rst:244 msgid ":guilabel:`Upload an image`: Upload an image into the library." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:253 +#: ../../content/applications/essentials/html_editor.rst:246 msgid ":guilabel:`Documents`" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:255 +#: ../../content/applications/essentials/html_editor.rst:248 msgid "Search for a document in the database." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:256 +#: ../../content/applications/essentials/html_editor.rst:249 msgid ":guilabel:`Add URL`: Copy-paste a valid URL." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:257 +#: ../../content/applications/essentials/html_editor.rst:250 msgid ":guilabel:`Upload a document`: Upload a document from a local drive." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:259 -msgid ":guilabel:`Icons`: Search an icon from the selection in the database." +#: ../../content/applications/essentials/html_editor.rst:252 +msgid ":guilabel:`Icons`: Search for and select one of the available icons." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:262 +#: ../../content/applications/essentials/html_editor.rst:253 +msgid ":guilabel:`Videos`: Paste a video URL of the following sources: YouTube, Vimeo, Dailymotion, and Youku. Alternatively, type code to embed a video." +msgstr "" + +#: ../../content/applications/essentials/html_editor.rst:257 +msgid "When adding a video, use the toggles to enable autoplay or looping, hide player controls or the fullscreen button, or set a start time." +msgstr "" + +#: ../../content/applications/essentials/html_editor.rst:261 msgid "Media editor toolbar" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:264 +#: ../../content/applications/essentials/html_editor.rst:263 msgid "After :ref:`inserting an image `, click it to display the media editor toolbar, and apply any of the following formatting options:" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:267 -msgid ":icon:`fa-search-plus` (:guilabel:`preview`): Preview the image, zoom in or out, print it or download it. Exit the preview by clicking the :icon:`fa-times` :guilabel:`(close)` icon in the top right corner." +#: ../../content/applications/essentials/html_editor.rst:266 +msgid ":icon:`fa-search-plus` (:guilabel:`Preview image`): Preview the image, zoom in or out, rotate it, print it, or download it. Exit the preview by clicking the :icon:`fa-times` :guilabel:`(close)` icon in the top right corner." +msgstr "" + +#: ../../content/applications/essentials/html_editor.rst:269 +msgid ":guilabel:`Description`: Edit the image description and tooltip, then click :guilabel:`Apply`." msgstr "" #: ../../content/applications/essentials/html_editor.rst:270 -msgid ":guilabel:`Description`: Edit the image description and tooltip, then click :guilabel:`Save`." +msgid ":guilabel:`Caption`: Write a caption under 100 characters below the image." msgstr "" #: ../../content/applications/essentials/html_editor.rst:271 -msgid ":icon:`fa-square` (:guilabel:`rounded`): Apply a rounded shape to the corners of the image." +msgid ":icon:`fa-square` (:guilabel:`Rounded`): Apply a rounded shape to the corners of the image." msgstr "" #: ../../content/applications/essentials/html_editor.rst:272 -msgid ":icon:`fa-circle-o` (:guilabel:`circle`): Apply a circular shape to the image." +msgid ":icon:`fa-circle-o` (:guilabel:`Circle`): Apply a circular shape to the image." msgstr "" #: ../../content/applications/essentials/html_editor.rst:273 -msgid ":icon:`fa-sun-o` (:guilabel:`shadow`): Apply a shadow effect to the image." +msgid ":icon:`fa-sun-o` (:guilabel:`Shadow`): Apply a shadow effect to the image." msgstr "" #: ../../content/applications/essentials/html_editor.rst:274 -msgid ":icon:`fa-picture-o` (:guilabel:`image`): Apply a border to the image." +msgid ":icon:`fa-picture-o` (:guilabel:`Thumbnail`): Apply a border to the image." msgstr "" #: ../../content/applications/essentials/html_editor.rst:275 -msgid ":icon:`fa-plus-square-o` (:guilabel:`padding`): Add an image padding and choose from small, medium, large, or extra large sizes." +msgid ":icon:`fa-plus-square-o` (:guilabel:`Padding`): Add an image padding and choose from :guilabel:`Small`, :guilabel:`Medium`, :guilabel:`Large`, or :guilabel:`XL` sizes." msgstr "" #: ../../content/applications/essentials/html_editor.rst:277 -msgid ":guilabel:`Default`: Restore the image to its default size." -msgstr "" - -#: ../../content/applications/essentials/html_editor.rst:278 -msgid ":guilabel:`100%`: Set the image to full size." +msgid ":guilabel:`Resize`: Restore the image to its default size or set its size to :guilabel:`25%`, :guilabel:`50%`, or :guilabel:`100%`." msgstr "" #: ../../content/applications/essentials/html_editor.rst:279 -msgid ":guilabel:`50%`: Set the image to half its size." -msgstr "" - -#: ../../content/applications/essentials/html_editor.rst:280 -msgid ":guilabel:`25%`: Set the image to a quarter of its size." +msgid ":icon:`fa-object-ungroup` (:guilabel:`object`): Resize and rotate the image. Click the :icon:`fa-object-ungroup` :guilabel:`(object)` icon a second time to reset the transformation." msgstr "" #: ../../content/applications/essentials/html_editor.rst:281 -msgid ":icon:`fa-object-ungroup` (:guilabel:`object`): Resize and rotate the image. Click the :icon:`fa-object-ungroup` :guilabel:`(object)` icon a second time to reset the transformation." +msgid ":icon:`fa-crop` (:guilabel:`Crop image`): Crop the image manually or apply the following options:" msgstr "" #: ../../content/applications/essentials/html_editor.rst:283 -msgid ":icon:`fa-crop` (:guilabel:`crop`): Crop the image manually or apply the following options:" -msgstr "" - -#: ../../content/applications/essentials/html_editor.rst:285 msgid "Choose from the `Flexible`, `16:9`, `4:3`, `1:1`, or `2:3` aspect ratios." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:286 +#: ../../content/applications/essentials/html_editor.rst:284 msgid "Zoom in or out." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:287 +#: ../../content/applications/essentials/html_editor.rst:285 msgid "Rotate left or right." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:288 +#: ../../content/applications/essentials/html_editor.rst:286 msgid "Flip horizontally or vertically." msgstr "" -#: ../../content/applications/essentials/html_editor.rst:289 +#: ../../content/applications/essentials/html_editor.rst:287 msgid "Reset the image." msgstr "" +#: ../../content/applications/essentials/html_editor.rst:289 +msgid ":icon:`fa-link` (:guilabel:`Add a link`): Add a link to the image, type the URL, then click :guilabel:`Apply`. To remove the link, click :icon:`fa-unlink` (:guilabel:`Remove Link`)." +msgstr "" + #: ../../content/applications/essentials/html_editor.rst:291 -msgid ":guilabel:`Replace`: Replace the image by searching in the :doc:`Unsplash ` database, adding a URL, or uploading a different one." +msgid ":icon:`fa-exchange` (:guilabel:`Replace`): Replace the image by searching in the :doc:`Unsplash ` database, adding a URL, or uploading a different one." msgstr "" #: ../../content/applications/essentials/html_editor.rst:294 -msgid ":icon:`fa-link` (:guilabel:`link`): Insert a link to the image, type the URL, then click :guilabel:`Apply`. To remove the link, click the :icon:`fa-chain-broken` :guilabel:`(unlink)` icon." +msgid ":icon:`fa-trash` (:guilabel:`Delete`): Delete the image." +msgstr "" + +#: ../../content/applications/essentials/html_editor.rst:297 +msgid "Icon editor toolbar" msgstr "" -#: ../../content/applications/essentials/html_editor.rst:296 -msgid ":icon:`fa-trash` (:guilabel:`trash`): Remove the image." +#: ../../content/applications/essentials/html_editor.rst:299 +msgid "After :ref:`inserting an icon `, click it to display the icon editor toolbar, and apply any of the following formatting options:" +msgstr "" + +#: ../../content/applications/essentials/html_editor.rst:302 +msgid ":icon:`fa-font` (:guilabel:`Select Font Color`): Customize the font color." +msgstr "" + +#: ../../content/applications/essentials/html_editor.rst:303 +msgid ":icon:`fa-paint-brush` (:guilabel:`Select Background Color`): Customize the background color." +msgstr "" + +#: ../../content/applications/essentials/html_editor.rst:304 +msgid ":guilabel:`Resize icon`: From :guilabel:`1x` to :guilabel:`5x`." +msgstr "" + +#: ../../content/applications/essentials/html_editor.rst:305 +msgid ":icon:`fa-play` (:guilabel:`Toggle icon spin`): Activate the spin animation." +msgstr "" + +#: ../../content/applications/essentials/html_editor.rst:306 +msgid ":guilabel:`Replace`: Select a different icon." msgstr "" #: ../../content/applications/essentials/in_app_purchase.rst:3 @@ -2713,6 +2768,10 @@ msgstr "" msgid "Selection of multiple records from another model" msgstr "" +#: ../../content/applications/essentials/property_fields.rst:89 +msgid ":guilabel:`Separator`" +msgstr "" + #: ../../content/applications/essentials/property_fields.rst:90 msgid "Group several properties under a foldable label" msgstr "" @@ -3557,3 +3616,172 @@ msgstr "" #: ../../content/applications/essentials/search.rst:304 msgid "In the :guilabel:`Shared with` field, select the relevant users from the drop-down menu, then click :icon:`fa-cloud-upload` :guilabel:`(Save manually)`. The favorite is now visible for all selected users under :icon:`fa-star` :guilabel:`Favorites`." msgstr "" + +#: ../../content/applications/essentials/stages.rst:3 +msgid "Stages" +msgstr "" + +#: ../../content/applications/essentials/stages.rst:5 +msgid "*Stages* are used to organize an app's pipeline and track the progress of configured items, from now on are referred to as cards." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:8 +msgid "In apps these cards represent specific items, for example, in the **Helpdesk** app, stages track tickets. Stages are customizable, and can be renamed to fit the needs of each team." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:12 +msgid "Create or modify stages" +msgstr "" + +#: ../../content/applications/essentials/stages.rst:15 +msgid ":ref:`Developer mode ` **must** be activated to access the stages menu. To activate developer mode, go to :menuselection:`Settings app --> General Settings --> Developer Tools`, and click :guilabel:`Activate the developer mode`." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:19 +msgid "To view or modify stages, go to the desired app and go to :menuselection:`Configuration --> Stages`." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:21 +msgid "The default list view on the :guilabel:`Stages` page displays the stages currently available in the app. They are listed in the order they appear in the pipeline." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:24 +msgid "To change the order of the stages, click the :icon:`oi-draggable` :guilabel:`(draggable)` icon, to the left of the stage name, and drag it to the desired place on the list." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:-1 +msgid "View of the stage list page emphasizing the buttons used to change the order the stages\n" +"appear in the list." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:32 +msgid "Change the stage order on the Kanban view of a team's pipeline by dragging and dropping individual columns." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:35 +msgid "To create a new stage, click the :guilabel:`New` button at the top-left of the stage list. Doing so reveals a blank stage form." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:38 +msgid "Choose a :guilabel:`Name` for the new stage." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:-1 +msgid "View of a stage's settings page in Odoo Helpdesk." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:44 +msgid "Progress bar" +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." +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." +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." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:57 +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 "" + +#: ../../content/applications/essentials/stages.rst:-1 +msgid "View of a stage's progress highlighting the activities that are due today." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:64 +msgid "Add email and SMS templates to stages" +msgstr "" + +#: ../../content/applications/essentials/stages.rst:66 +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 +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 +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 +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 +msgid "Follow the same steps to select, edit, or create an :guilabel:`SMS Template`." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:-1 +msgid "View of an SMS template setup page in Odoo Helpdesk." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:89 +msgid ":doc:`/applications/general/companies/email_template`" +msgstr "" + +#: ../../content/applications/essentials/stages.rst:92 +msgid "Fold a stage" +msgstr "" + +#: ../../content/applications/essentials/stages.rst:94 +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 +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 +msgid "Stages can be configured to be folded in the Kanban view of the pipeline page." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:102 +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 +msgid "To fold a stage, tick the :guilabel:`Folded in Kanban` checkbox on the :guilabel:`Stages` form." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:107 +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 +msgid "Temporarily fold a stage" +msgstr "" + +#: ../../content/applications/essentials/stages.rst:114 +msgid "Stages can be temporarily folded in the Kanban view of the pipeline, as well." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:116 +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 +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 "" + +#: ../../content/applications/essentials/stages.rst:-1 +msgid "Kanban view of a Helpdesk stage, with the temporary fold option emphasized." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:126 +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 +msgid "Assign stages to a team" +msgstr "" + +#: ../../content/applications/essentials/stages.rst:132 +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 3206440e81..016007920c 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-10-20 14:56+0200\n" +"POT-Creation-Date: 2025-11-19 09:34+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -109,7 +109,7 @@ msgid "Branches can manage their own dedicated journals and related records." msgstr "" #: ../../content/applications/finance/accounting.rst:124 -msgid "The parent company manages a common :ref:`fiscal period `, so its :ref:`lock and closing dates ` apply across all branches. However, branches may set earlier lock dates if needed." +msgid "The parent company manages a common :ref:`fiscal period `, so its :ref:`lock and closing dates ` apply across all branches. However, branches may set earlier lock dates if needed." msgstr "" #: ../../content/applications/finance/accounting.rst:127 @@ -202,7 +202,7 @@ msgid "Profit and loss" msgstr "" #: ../../content/applications/finance/accounting.rst:199 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:361 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:357 msgid "Cash flow statement" msgstr "" @@ -212,7 +212,7 @@ msgstr "" #: ../../content/applications/finance/accounting.rst:203 #: ../../content/applications/finance/accounting.rst:254 -#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:89 +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:102 msgid "Tax return" msgstr "" @@ -318,7 +318,7 @@ msgid "Product margins" msgstr "" #: ../../content/applications/finance/accounting.rst:245 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:337 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:333 msgid "1099 report" msgstr "" @@ -327,7 +327,7 @@ msgid ":doc:`Create and customize reports ` with msgstr "" #: ../../content/applications/finance/accounting.rst:256 -msgid "In the :ref:`Tax return `, Odoo computes all accounting transactions for the specific tax period and uses these totals to calculate the tax obligation." +msgid "In the :ref:`Tax return `, Odoo computes all accounting transactions for the specific tax period and uses these totals to calculate the tax obligation." msgstr "" #: ../../content/applications/finance/accounting.rst:260 @@ -356,7 +356,7 @@ msgid "Both periodic (manual) and perpetual (automated) inventory valuations are msgstr "" #: ../../content/applications/finance/accounting.rst:285 -msgid ":doc:`../inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config`" +msgid ":doc:`../inventory_and_mrp/inventory/inventory_valuation/cheat_sheet`" msgstr "" #: ../../content/applications/finance/accounting.rst:290 @@ -400,7 +400,7 @@ msgid "To grant access to the company's accountant, :ref:`add the accountant as msgstr "" #: ../../content/applications/finance/accounting.rst:323 -msgid ":guilabel:`Accounting`: Select :guilabel:`Accountant`." +msgid ":guilabel:`Accounting`: Select :guilabel:`Administrator`." msgstr "" #: ../../content/applications/finance/accounting.rst:324 @@ -477,50 +477,24 @@ msgid "A default :ref:`bank journal ` is available and msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:7 -msgid "Odoo can synchronize directly with your bank institution to get all bank statements imported automatically into your database." +msgid "Odoo synchronizes directly with your bank institution to automatically import all bank transactions into the database. It supports over 26,000 financial institutions worldwide and relies on multiple :ref:`third-party providers ` to connect with banks." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:10 -msgid "To check if your bank is compatible with Odoo, go to `Odoo Accounting Features `_, and click on :guilabel:`See list of supported institutions`." -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:14 -msgid "Odoo supports more than 26,000 institutions around the world." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:13 +msgid "To use this service, a valid Odoo Enterprise subscription is required." msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:16 -msgid "To connect to the banks, Odoo uses multiple web-services:" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:18 -msgid "**Plaid**: United States of America and Canada" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:19 -msgid "**Yodlee**: Worldwide" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:20 -msgid ":doc:`Salt Edge `: Worldwide" +msgid "To check if your bank is compatible with Odoo, go to `Odoo Accounting Features `_, and click :guilabel:`See list of supported institutions` in the :guilabel:`Bank & Cash` section." msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:21 -msgid ":doc:`Ponto `: Europe" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:22 -msgid ":doc:`Enable Banking `: Scandinavian countries" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:25 #: ../../content/applications/finance/accounting/bank/reconciliation.rst:22 msgid ":doc:`transactions`" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:28 -#: ../../content/applications/finance/accounting/bank/bank_synchronization/enablebanking.rst:20 +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:26 #: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:20 -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:17 #: ../../content/applications/finance/accounting/bank/foreign_currency.rst:16 #: ../../content/applications/finance/accounting/bank/internal_transfers.rst:12 #: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:17 @@ -533,7 +507,7 @@ msgstr "" #: ../../content/applications/finance/accounting/customer_invoices/payment_terms.rst:48 #: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:12 #: ../../content/applications/finance/accounting/customer_invoices/terms_conditions.rst:15 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:38 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:32 #: ../../content/applications/finance/accounting/get_started/journals.rst:122 #: ../../content/applications/finance/accounting/get_started/multi_currency.rst:15 #: ../../content/applications/finance/accounting/get_started/tax_units.rst:22 @@ -544,6 +518,7 @@ msgstr "" #: ../../content/applications/finance/accounting/payments/pay_checks.rst:10 #: ../../content/applications/finance/accounting/payments/pay_sepa.rst:46 #: ../../content/applications/finance/accounting/reporting/silverfin.rst:11 +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:22 #: ../../content/applications/finance/accounting/taxes.rst:51 #: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:52 #: ../../content/applications/finance/accounting/taxes/cash_basis.rst:14 @@ -552,6 +527,7 @@ msgstr "" #: ../../content/applications/finance/accounting/taxes/retention.rst:11 #: ../../content/applications/finance/accounting/vendor_bills/deferred_expenses.rst:29 #: ../../content/applications/finance/accounting/vendor_bills/invoice_digitization.rst:24 +#: ../../content/applications/finance/expenses/expense_cards.rst:55 #: ../../content/applications/finance/fiscal_localizations.rst:18 #: ../../content/applications/finance/fiscal_localizations/argentina.rst:20 #: ../../content/applications/finance/fiscal_localizations/argentina.rst:715 @@ -576,11 +552,12 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:377 #: ../../content/applications/finance/fiscal_localizations/france.rst:98 #: ../../content/applications/finance/fiscal_localizations/germany.rst:256 -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:61 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:62 #: ../../content/applications/finance/fiscal_localizations/hong_kong.rst:6 #: ../../content/applications/finance/fiscal_localizations/india.rst:638 +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:32 #: ../../content/applications/finance/fiscal_localizations/italy.rst:8 -#: ../../content/applications/finance/fiscal_localizations/italy.rst:718 +#: ../../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 @@ -588,7 +565,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:856 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:1267 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:1553 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1683 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1682 #: ../../content/applications/finance/fiscal_localizations/new_zealand.rst:215 #: ../../content/applications/finance/fiscal_localizations/peru.rst:88 #: ../../content/applications/finance/fiscal_localizations/peru.rst:720 @@ -603,7 +580,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/thailand.rst:6 #: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:8 #: ../../content/applications/finance/fiscal_localizations/united_states.rst:34 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:657 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:650 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:46 #: ../../content/applications/finance/fiscal_localizations/vietnam.rst:61 #: ../../content/applications/finance/fiscal_localizations/vietnam.rst:240 @@ -618,486 +595,425 @@ msgid "Configuration" msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:31 -msgid "On-Premise users" +msgid "First synchronization" msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:33 -msgid "To be able to use this service, you need to have a valid Odoo Enterprise subscription. So make sure that your database is registered with your Odoo Enterprise contract. We also use a proxy between your database and the third party provider so, in case of a connection error, please check that you don't have a firewall or a proxy blocking the following address:" +msgid "To synchronize the database with a bank, go to the Accounting Dashboard, click :guilabel:`New`, and select the :guilabel:`Bank` card. In the :guilabel:`Add a Bank Account` window, select the relevant bank and click :guilabel:`Connect`." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:39 -msgid "https://production.odoofin.com/" +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:38 +msgid "Alternatively, click the :icon:`fa-ellipsis-v` :guilabel:`(vertical ellipsis)` icon of the :guilabel:`Bank` journal, and :guilabel:`Connect bank`, or click :guilabel:`Search over 26000 banks` in the Accounting dashboard." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:42 -msgid "First synchronization" +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:41 +msgid "Depending on your bank and country, you can select the :guilabel:`Type of account` and/or choose another :ref:`third-party provider ` to connect with the bank if needed before clicking :guilabel:`Connect`." msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:44 -msgid "You can start synchronization either by going to the Accounting app and :menuselection:`Accounting --> Configuration --> Add a Bank Account`." -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:47 -msgid "Now you can search for your bank institution. Select it and follow the steps to synchronize with it." +msgid "If your bank is not listed in the :guilabel:`Search for an institution` window, scroll down the list and click :icon:`fa-plus` :guilabel:`Add new bank` to create a bank account manually. Fill in the :guilabel:`Account Number`, :guilabel:`Bank`, and :guilabel:`SWIFT Code`, and click :guilabel:`Connect`. A bank journal is then created and named using the account number. Note that in this case, the bank is not synchronized." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:50 -msgid "If you have any issues during your first synchronization, please verify that your web browser doesn't block pop-ups and that your ad-blocker is disabled." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:49 +msgid "If issues occur during the first synchronization, check that no firewall or proxy is blocking the address https://production.odoofin.com/. Make sure your web browser allows pop-ups and that any ad-blocker is disabled." msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:54 -msgid "When setting up the bank statement synchronization, Odoo automatically starts recording the accounting transactions from the last transaction’s date +1 day (if the last transaction day is 31/12/2022, the recording starts on 01/01/2023). If the journal contains no transaction, Odoo retrieves transactions as far back as possible. You can limit how far back Odoo retrieves transactions by opening the Accounting app, going to :menuselection:`Accounting --> Lock Dates`, and setting a date in the :guilabel:`Journal Entries Lock Date` field." +msgid "When setting up bank synchronization, accounting transactions are automatically recorded from the date of the last transaction +1 day (e.g., if the last transaction date is 31/12/2025, the recording starts on 01/01/2026). If the journal contains no transactions, all available past transactions are retrieved. To limit the retrieval period, go to :menuselection:`Accounting --> Accounting --> Lock Dates`, and set a date in the :guilabel:`Lock Everything` field." msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:61 -msgid "You must provide a phone number during your first synchronization to secure your account. We ask for such information because we don't want your data falling into the wrong hands. Therefore, if we detect suspicious activities on your account, we block all requests coming from your account, and you need to reactivate it using that phone number." +msgid "Some banks are in a :guilabel:`Beta` status, meaning they're not yet fully supported by third-party providers. This may lead to bugs or other issues. Although they can be used, Odoo does not provide technical support in this case." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:66 -msgid "The third-party provider may request more information in order to connect with your bank institution. This information is not stored on Odoo's servers." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:64 +msgid "The :ref:`third-party provider ` may request more information to connect with a bank. This information is not stored on Odoo's servers." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:69 -msgid "By default, transactions fetched from an online source are grouped inside the same statement, and one bank statement is created per month. You can change the bank statement creation periodicity in your journal settings." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:67 +msgid "To view all past synchronizations, activate the :ref:`developer mode ` and go to :menuselection:`Accounting --> Configuration --> Online Synchronization`." msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:73 -msgid "To view all your synchronizations, activate the :ref:`developer mode ` and go to :menuselection:`Accounting --> Configuration --> Online Synchronization`." +msgid "Manual synchronization" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:77 -msgid "Synchronize manually" +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:75 +msgid "After the :ref:`first synchronization `, bank journals are synchronized by default every twelve hours. To manually trigger synchronization, go to the Accounting dashboard and click :guilabel:`Fetch Transactions` on the relevant bank journal." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:79 -msgid "After your first synchronization, the created journals are synchronized by default every 12 hours. If you wish, you can synchronize them manually by clicking on the :guilabel:`Synchronize Now` button on the dashboard." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:80 +msgid "Alternatively, activate the :ref:`developer mode `, go to :menuselection:`Accounting --> Configuration --> Online Synchronization`, select the relevant bank, and click :guilabel:`Fetch transactions`." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:83 -msgid "Alternatively, activate the :ref:`developer mode `, go to :menuselection:`Accounting --> Configuration --> Online Synchronization`, select your institution, and then click the :guilabel:`Fetch transactions` button." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:85 +msgid "Some banks do not support automatic transaction fetching. For these institutions, an error message appears during the automatic account synchronization, prompting the user to disable the automatic synchronization. This message is also logged in the chatter of the online synchronization. In such cases, disable the :guilabel:`Automatic synchronization` option in the corresponding bank's :guilabel:`Online Synchronization` and make sure to perform manual synchronizations by clicking :guilabel:`Fetch Transactions` on the relevant bank journal." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:88 -msgid "Some institutions do not allow transactions to be fetched automatically. For such institutions, during the automatic synchronization of the account, you receive an error message asking you to disable the automatic synchronization. This message can be found in the chatter of your online synchronizations. In this case, make sure to perform manual synchronizations." -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:94 -msgid "Issues" +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:91 +msgid "For some bank institutions, transactions can only be fetched up to three months in the past. If older transactions are needed, they can be :ref:`imported `." msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:97 -msgid "Synchronization in error" +msgid "Update synchronization credentials" msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:99 -msgid "To report a connection error to the `Odoo support `_, activate the :ref:`developer mode `, go to :menuselection:`Accounting --> Configuration --> Online Synchronization`, select the connection that failed, and copy the error description and the reference." +msgid "To update bank credentials, activate the :ref:`developer mode `, and go to :menuselection:`Accounting --> Configuration --> Online Synchronization`. Open the connection that needs to be updated, click :guilabel:`Update Credentials`, and follow the steps." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:105 -msgid "Synchronization disconnected" +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:104 +msgid "The steps may vary depending on the third-party provider, as each provider follows its own process." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:107 -msgid "If your connection with the proxy is disconnected, you can reconnect with the proxy using the :guilabel:`Fetch Account` button." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:106 +msgid "When updating bank credentials, make sure all accounts are selected for synchronization, including those from other banking institutions if applicable." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:111 -msgid "If you are unable to reconnect using the :guilabel:`Reconnect` button, please contact the `support `_ directly with your client id or the reference of the error listed in the chatter." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:112 +msgid "Third-party providers" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:118 -msgid "Migration process for users having installed Odoo before December 2020" +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:114 +msgid "Odoo relies on third-party providers to securely connect to your bank accounts and automatically import transactions and financial data into the database. The following providers are used:" +msgstr "" + +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:117 +msgid "`Plaid `_ (supported in the `United States of America and Canada `_)" +msgstr "" + +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:119 +msgid "`Yodlee `_ (supported in Europe)" msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:120 -msgid "If you are on-premise, please first make sure that your source is up-to-date with the latest version of Odoo." +msgid "`Salt Edge `_ (supported `worldwide `_)" +msgstr "" + +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:122 +msgid ":doc:`Ponto ` (supported in Europe)" msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:123 -msgid "Users who have created a database before December 2020 need to install the new module manually to use the new functionalities." +msgid "`Enable Banking `_ (supported in `Scandinavian countries `_)" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:126 -msgid "To do so, go to :menuselection:`Apps --> Update Apps List`, remove the default filter in the search bar and type `account_online_synchronization`. You can then click on :guilabel:`Install`. Finally, make sure all your users refresh their Odoo page by pressing CTRL+F5." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:127 +msgid "When :ref:`connecting a bank to Odoo `:" +msgstr "" + +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:129 +msgid "Depending on your bank and country, change the default third-party provider when selecting the bank, if necessary." +msgstr "" + +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:131 +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:66 +msgid "Make sure to check the consent checkbox to allow information to be shared with Odoo." msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:132 -msgid "All previous synchronizations are disconnected during the installation and will not work anymore. To view them, activate the :ref:`developer mode ` and go to :menuselection:`Accounting --> Configuration --> Online Synchronization`. It is not possible to resynchronize these connections; you have to make new ones." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:67 +msgid "Select all accounts that need access and synchronization, including those from other banking institutions." msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:136 -msgid "Do not uninstall the `account_online_sync` module, which is the previous module for online synchronization. The new one overrides it." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:105 +msgid ":ref:`Bank synchronization troubleshooting `" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:138 -msgid "By default, the `account_online_synchronization` module is installed automatically with Accounting." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:137 +msgid ":ref:`Salt Edge bank synchronization troubleshooting `" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:142 -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:86 -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:72 -msgid "FAQ" +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:139 +msgid ":ref:`Ponto bank synchronization troubleshooting `" msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:145 -msgid "The synchronization is not working in real-time. Is that normal?" +#: ../../content/applications/finance/accounting/bank/transactions.rst:60 +msgid "Duplicate transactions" msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:147 -msgid "The process is not intended to work in real-time as third party providers synchronize your accounts at different intervals. To force the synchronization and fetch the statements, go to your :guilabel:`Accounting Dashboard`, and click on the :guilabel:`Synchronize Now` button. Synchronize and fetch transactions by activating the :ref:`developer mode ` and going to :menuselection:`Accounting --> Configuration --> Online Synchronization`. Some providers only allow one refresh per day, so it is possible that clicking on :guilabel:`Synchronize Now` does not get your latest transactions if you already performed such action earlier in the day." +msgid "When importing transactions, some may appear :ref:`duplicated ` due to the same online transaction identifier or the same currency, amount, account number, and date." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:155 -msgid "A transaction can be visible on your bank account but not be fetched if it has the status :guilabel:`Pending`. Only transactions with the :guilabel:`Posted` status will be retrieved. If the transaction is not **Posted** yet, you will have to wait until the status changes." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:154 +msgid "Missing transactions" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:160 -msgid "Is the Online Bank Synchronization feature included in my contract?" +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:156 +msgid "Missing or pending transactions are entries that the bank has not yet validated." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:162 -msgid "**Community Edition**: No, this feature is not included in the Community Version." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:158 +msgid "To find missing and pending transactions, access the :ref:`bank reconciliation view `, click the :icon:`fa-cog` :guilabel:`(gear)` icon, and select :guilabel:`Find Missing Transactions`." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:163 -msgid "**Online Edition**: Yes, even if you benefit from the One App Free contract." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:162 +msgid "To import a posted missing transaction, select it and click :guilabel:`Import Transactions`." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:164 -msgid "**Enterprise Edition**: Yes, if you have a valid enterprise contract linked to your database." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:165 +msgid "Make sure the connection with the bank is active to find missing transactions." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:167 -msgid "Some banks have a status \"Beta.\" What does this mean?" +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:166 +msgid ":guilabel:`Pending` transactions cannot be imported." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:169 -msgid "This means that banking institutions are not yet fully supported by our Third Party Provider. Bugs or other problems may arise. Odoo does not support technical problems that occur with banks in the Beta phase, but the user may still choose to connect. Connecting with these banks contributes to the development process since the Provider will have real data and feedback from the connection." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:171 +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:102 +msgid "Troubleshooting" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:175 -msgid "Why do my transactions only synchronize when I refresh manually?" +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:174 +msgid ":ref:`Bank synchronization troubleshooting - Ponto `" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:177 -msgid "Some banks have additional security measures and require extra steps, such as an SMS/email authentication code or another type of MFA. Because of this, the integrator cannot pull transactions until the security code is provided." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:180 +msgid "Synchronization errors or disconnections" msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:182 -msgid "Not all of my past transactions are in Odoo, why?" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:184 -msgid "For some institutions, transactions can only be fetched up to 3 months in the past." +msgid "To report a connection error to `Odoo support `_, activate the :ref:`developer mode `, go to :menuselection:`Accounting --> Configuration --> Online Synchronization`, select the failed connection, and copy the error description and the reference." msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:187 -msgid "Why don't I see any transactions?" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:189 -msgid "During your first synchronization, you selected the bank accounts you decided to synchronize with Odoo. If you didn't synchronize any of your accounts, activate the :ref:`developer mode `, go to :menuselection:`Accounting --> Configuration --> Online Synchronization`, and click the :guilabel:`Fetch Account` button on the connection." +msgid "If the connection with the proxy is lost and reconnection using the :guilabel:`Reconnect` option isn't successful, contact `support `_ directly. Provide the client ID or the error reference from the chatter." msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:194 -msgid "There may also be no new transactions." +msgid "Why is the synchronization not working in real-time?" msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:196 -msgid "If your bank account is properly linked to a journal and posted transactions are not visible in your database, please `submit a support ticket `_." +msgid "Synchronization is not designed to work in real time, as third-party providers synchronize accounts at different intervals. To manually trigger synchronization and retrieve bank transactions, go to the :guilabel:`Accounting Dashboard`, and click :guilabel:`Fetch Transactions`." msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:200 -msgid "How can I update my bank credentials?" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:202 -msgid "To update your credentials, activate the :ref:`developer mode ` and go to :menuselection:`Accounting --> Configuration --> Online Synchronization`. Open the connection you want to update your credentials and click the :guilabel:`Update Credentials` button." -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization/enablebanking.rst:3 -msgid "Enable Banking" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization/enablebanking.rst:5 -msgid "**Enable Banking** is a third-party provider aggregating banking information from bank accounts all in one place. It offers non-intrusive connectivity to ASPSPs' official APIs across Europe without storing data." -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization/enablebanking.rst:-1 -msgid "Enable Banking logo" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization/enablebanking.rst:12 -msgid "**Odoo** synchronizes directly with banks to get access to all bank transactions and automatically import them into your database." -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization/enablebanking.rst:16 -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:16 -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:13 -msgid ":doc:`../bank_synchronization`" +msgid "Alternatively, to synchronize and fetch transactions, activate the :ref:`developer mode ` and go to :menuselection:`Accounting --> Configuration --> Online Synchronization`." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/enablebanking.rst:17 -msgid "`Enable Banking website `_" +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:204 +msgid "Some providers restrict refreshes to once per day. If transactions have already been fetched, clicking :guilabel:`Fetch Transactions` again may not retrieve the latest data." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/enablebanking.rst:23 -msgid "Link bank accounts with Odoo" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization/enablebanking.rst:25 -msgid "Start synchronization by clicking on :menuselection:`Accounting --> Configuration --> Add a Bank Account`;" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization/enablebanking.rst:27 -msgid "Select your bank;" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization/enablebanking.rst:28 -msgid "Make sure you give your consent to share your account information with Odoo by clicking :guilabel:`Continue authentication`;" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization/enablebanking.rst:0 -msgid "Enable Banking authentication page" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization/enablebanking.rst:34 -msgid "Finally, you are redirected to your bank's login page." -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:3 -msgid "Ponto" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:5 -msgid "**Ponto** is a service that allows companies and professionals to aggregate their accounts in one place and directly see all their transactions within one app. It is a third-party solution that is continuously expanding the number of bank institutions that can be synchronized with Odoo." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:207 +msgid "Transactions may appear on a bank account, but cannot be fetched if they have a :guilabel:`Pending` status; only transactions with a :guilabel:`Posted` status are retrieved." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:9 -msgid "**Odoo** can synchronize directly with your bank to get all bank statements imported automatically into your database." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:213 +msgid "Why do my transactions only synchronize when I refresh manually?" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:12 -msgid "Ponto is a paid third-party provider that can handle the synchronization between your bank accounts and Odoo." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:215 +msgid "Some banks implement additional security measures and require extra steps, such as an SMS or email authentication code, or another type of :abbr:`MFA (multi-factor authentication)`. As a result, the third-party provider cannot retrieve transactions until the security code is provided." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:17 -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:14 -msgid ":doc:`../transactions`" +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:222 +msgid "Why are no transactions visible?" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:23 -msgid "Link your bank accounts with Ponto" +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:224 +msgid "There are a few possible reasons for this issue:" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:25 -msgid "Go to `Ponto's website (https://myponto.com) `_." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:226 +msgid "No bank accounts were synchronized during the :ref:`first synchronization `." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:26 -msgid "Create an account if you don't have one yet." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:228 +msgid "There may be no new transactions available to fetch." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:27 -msgid "Once you are logged in, create an *organization*." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:230 +msgid "If the bank account is correctly linked to a journal, but posted transactions still aren't visible in the database, contact `support `_." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:0 -msgid "Fill out the form to add an organization in Ponto." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:236 +msgid "Why are no accounts shown after synchronization?" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:32 -msgid "Go to :menuselection:`Accounts --> Live`, and click :guilabel:`Add account`. You might have to add your **Billing Information** first." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:238 +msgid "During the synchronization process, a bank institution was selected, but no bank accounts from this institution were authorized during the :ref:`first synchronization `." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:34 -msgid "Select your country, your bank institutions, give your consent to Ponto, and follow the steps on-screen to link your bank account with your Ponto account." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:245 +msgid "Saltedge troubleshooting" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:0 -msgid "Add bank accounts to your Ponto account." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:250 +msgid "Why is there an error when deleting a synchronization in Odoo?" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:40 -msgid "Add all bank accounts you want to synchronize with your Odoo database and move to the next steps." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:252 +msgid "Odoo can't permanently delete the connection established with the banking institution. However, it revokes consent, which prevents Odoo from accessing the account. The error message indicates that the consent has been revoked, but the record could not be deleted as it remains in Salt Edge." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:43 -msgid "Link your Ponto account with your Odoo database" +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:256 +msgid "To delete the connection, connect to the `Salt Edge account `_ and manually remove the synchronization. Once this is done, the record can be deleted in Odoo." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:45 -msgid "Go to :menuselection:`Accounting --> Configuration --> Add a Bank Account`." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:262 +msgid "I have an error saying that this account has already been synchronized" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:46 -msgid "Search for your institution and select it so you can verify that the third party provider is Ponto." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:264 +msgid "The bank account has already been synchronized with Salt Edge. Access the Salt Edge `dashboard `_ to check if a connection with the same credentials exists. There are two options:" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:48 -msgid "Click :guilabel:`Connect` and follow the steps." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:268 +msgid "If a connection with the same credentials exists in Salt Edge but has not been synchronized with Odoo, delete the existing connection and create a new one from the Odoo database." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:49 -msgid "Select **all accounts** you want to access and synchronize in Odoo, even the ones coming from other banking institutions." +#: ../../content/applications/finance/accounting/bank/bank_synchronization.rst:270 +msgid "If a connection with the same credentials exists in Salt Edge and has already been synchronized with Odoo, :ref:`update the synchronization credentials ` to reactivate the connection." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:0 -msgid "Selection of the accounts you wish to synchronize with Odoo." -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:55 -msgid "Finish the flow." -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:58 -msgid "You have to authorize all the accounts you want to access in Odoo, but Odoo will filter the accounts based on the institution you selected in the second step." -msgstr "" - -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:62 -msgid "Update your synchronization credentials" +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:3 +msgid "Ponto" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:64 -msgid "To update your Ponto credentials or modify the synchronization settings, activate the :ref:`developer mode `, go to :menuselection:`Accounting --> Configuration --> Online Synchronization`, and select the institution from which you want to fetch the other accounts. Click :guilabel:`Fetch Accounts` to start the flow." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:5 +msgid "`Ponto `_ is a paid third-party service that enables companies and professionals to connect multiple bank accounts to a single platform. It provides a unified view of all transactions within a single interface. When integrated with Odoo, it automatically synchronizes bank transactions directly into its database." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:70 -msgid "During the update, select **all accounts** you want to synchronize, even the ones coming from other banking institutions." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:11 +msgid "Using Ponto is subject to applicable fees." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:74 -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:60 -msgid "Fetch new accounts" +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:14 +msgid ":doc:`../bank_synchronization`" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:76 -msgid "To add new online accounts to your connection, activate the :ref:`developer mode `, go to :menuselection:`Accounting --> Configuration --> Online Synchronization`, and select the institution from which you want to fetch the other accounts. Click :guilabel:`Fetch Accounts` to start the flow." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:15 +msgid "`Financial institutions connected to Ponto `_" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:82 -msgid "Don't forget to keep authorization for existing accounts (for all institutions that you have synchronized with Ponto)." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:22 +msgid "To connect a bank with Odoo using Ponto as the third-party provider, follow these steps:" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:89 -msgid "After my synchronization, no account appears" +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:24 +msgid "Set up your email address: Click the profile icon in the upper-right corner, select :guilabel:`My profile`, and fill in the :guilabel:`Email` field." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:91 -msgid "You selected an institution from the list and did not authorize any accounts from this institution." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:26 +msgid ":ref:`Create a Ponto account ` if needed." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:94 -msgid "I have an error about that my authorization has expired" +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:28 +msgid ":ref:`Connect Odoo to your bank `." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:96 -msgid "Every **6 months** (180 days) you must re-authorize the connection between your bank account and Ponto. This must be done from the `Ponto website `_. If you do not do this, the synchronization will stop for these accounts." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:33 +msgid "Ponto account creation" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:101 -msgid "I have some errors with my beta institution" +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:35 +msgid "Access the `Ponto website `_." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:103 -msgid "Ponto provides institutions in *beta*, these institutions are not directly supported by Odoo and we advise you to contact Ponto directly." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:36 +msgid "Click :guilabel:`Login`, then :guilabel:`Not a user yet?` and follow the instructions to create a new account." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:107 -msgid "Using an institution in beta is beneficial for Ponto, it allows them to have real feedback on the connection with the institution." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:40 +msgid "Use the same email address as the one :ref:`used for your Odoo profile `." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:3 -msgid "Salt Edge" +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:43 +msgid "After logging in, create an :guilabel:`Organization` and provide the necessary contact details." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:5 -msgid "**Salt Edge** is a third-party provider that aggregates banking information from your bank accounts. It supports ~5000 institutions in more than 50 countries." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:44 +msgid "Give consent to Ponto to access the bank account data." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:9 -msgid "Odoo can synchronize directly with your bank to get all bank statements imported automatically into your database." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:45 +msgid "Click :guilabel:`Accounts`, :guilabel:`Add account`, then :guilabel:`Choose your bank`, enter the bank account reference, and follow the on-screen steps to complete the linking process." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:20 -msgid "Link your bank accounts with Odoo" +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:47 +msgid "Add all relevant bank accounts that need to be synchronized with Odoo, then proceed to the next steps." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:22 -msgid "Start synchronization by clicking on :menuselection:`Accounting --> Configuration --> Add a Bank Account`." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:53 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:453 +msgid "Connection with Odoo" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:24 -msgid "Select the institution you want to synchronize. You can see if Salt Edge is the third party provider of the institution by selecting it." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:55 +msgid "When :ref:`connecting a bank to Odoo ` using Ponto as the third-party provider, follow these steps:" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:26 -msgid "After giving your phone number, you are asked for an email address. This email address is used to create your Salt Edge account. Please make sure you enter a valid email address, as otherwise, you will not be able to access your Salt Edge account." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:58 +msgid "When connecting to the desired bank, make sure Ponto is selected as the third-party :guilabel:`Provider`." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:0 -msgid "Email address to provide to Salt Edge for the creation of your account." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:60 +msgid "Select the account(s) to grant Ponto access to account balances and transactions, then confirm the selection." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:34 -msgid "After entering your email address, you are redirected to Salt Edge to continue the synchronization process." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:62 +msgid "Authorize Odoo to request account information and initiate payment orders." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:0 -msgid "Salt Edge Login page." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:63 +msgid "Select the specific bank account to connect." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:40 -msgid "Make sure you give your consent by checking the consent checkbox." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:71 +msgid ":ref:`Update synchronization credentials `" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:0 -msgid "Salt Edge give consent page." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:76 +msgid "Vendor payments with Ponto" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:45 -msgid "Complete the synchronization by following the steps." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:79 +msgid "Before managing vendor payments with Ponto, make sure the following steps are completed:" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:49 -msgid "Update your credentials" +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:81 +msgid ":ref:`SEPA Credit Transfer is activated (SCT) `." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:51 -msgid "To update your Salt Edge credentials or modify the synchronization settings, activate the :ref:`developer mode `, go to :menuselection:`Accounting --> Configuration --> Online Synchronization`, and select the institution you want to update credentials. Click :guilabel:`Update Credentials` to start the flow and follow the steps." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:82 +msgid ":ref:`The SEPA Credit Transfer payment method has been added to the bank journal `." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:56 -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:68 -msgid "Don't forget to check the consent checkbox. Otherwise, Odoo may not be able to access your information." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:84 +msgid ":doc:`The vendor's bank account has been marked as trusted <../../payments/trusted_accounts>`." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:62 -msgid "To add new online accounts to your connection, activate the :ref:`developer mode `, go to :menuselection:`Accounting --> Configuration --> Online Synchronization`, and select the institution to fetch the new accounts. Click :guilabel:`Fetch Accounts` to start the flow and follow the steps." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:85 +msgid "The :guilabel:`Account Online Payment` (`account_online_payment`) module is :ref:`installed `." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:75 -msgid "I have an error when I try to delete my synchronization within Odoo" +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:88 +msgid "To register a vendor payment using Ponto, follow these steps:" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:77 -msgid "Odoo can't permanently delete the connection you have created with the banking institution. However, it can revoke the consent you gave so that Odoo won't be able to access your account anymore. The error you are seeing is probably a message telling you that the consent was revoked, but the record could not be deleted as it still exists within Salt edge. If you want to remove the connection completely, please connect to your `Salt Edge account `_ and manually delete your synchronization. Once this is done, you can go back to Odoo to delete the record." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:90 +msgid "Go to :menuselection:`Accounting --> Vendors --> Payments` and create the payment. Fill in the relevant bank :guilabel:`Journal` field, select :ref:`SEPA Credit Transfer ` as the :guilabel:`Payment Method`, and enter the :guilabel:`Vendor Bank Account`. Then click :guilabel:`Confirm`." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:86 -msgid "I have an error saying that I have already synchronized this account" +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:94 +msgid "Go to :menuselection:`Accounting --> Vendors --> Batch Payments` and :ref:`create a batch `. Select the same bank :guilabel:`Journal` and :guilabel:`Payment Method`, and click :guilabel:`Add a line` to select the payment created in the previous step." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:88 -msgid "You have probably already synchronized your bank account with Salt Edge, please check on your `dashboard `_ that you don't already have a connection with the same credentials." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:97 +msgid "Click :guilabel:`Initiate Payment` to connect to Ponto and follow the steps to sign the payment." msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:92 -msgid "If you already have a synchronization with the same credentials present on your Salt Edge dashboard and this synchronization has not been created with Odoo, delete it and create it from your Odoo database." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:110 +msgid "Why has the authorization expired?" msgstr "" -#: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:96 -msgid "If you already have a connection with the same credentials present on your Salt Edge dashboard and this synchronization was created with Odoo, activate the :ref:`developer mode `, go to :menuselection:`Accounting --> Configuration --> Online Synchronization`, and click :guilabel:`Update Credentials` to reactivate the connection." +#: ../../content/applications/finance/accounting/bank/bank_synchronization/ponto.rst:112 +msgid "Every six months (180 days), the connection between a bank account and Ponto must be re-authorized via the `Ponto website `_. Failure to do so will result in synchronization stopping for those accounts." msgstr "" #: ../../content/applications/finance/accounting/bank/foreign_currency.rst:3 @@ -1481,294 +1397,302 @@ msgstr "" msgid "Every :doc:`transaction ` is linked to a journal entry that debits/credits the journal's main account and its suspense account until it is fully reconciled. At that point, the suspense account is replaced with the account of the counterpart item or, in the case of :ref:`manual matching `, the selected account." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:66 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:64 +msgid ":ref:`Duplicate transactions `" +msgstr "" + +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:65 +msgid ":ref:`Missing transactions `" +msgstr "" + +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:70 msgid "Possible action buttons" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:68 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:72 msgid "Up to two suggested action buttons are available as primary buttons, but all available action buttons are displayed when the transaction is expanded. The following action buttons are available depending on the details of the transaction:" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:72 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:76 msgid ":guilabel:`Set Partner`: Open a search view to add a partner to the transaction." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:73 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:77 msgid ":guilabel:`Set Account`: Open a search view to manually select an account to write off the full amount of the transaction with this account. If necessary, :ref:`edit the line ` to change the amount." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:76 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:80 msgid ":guilabel:`Receivable`: Write off the transaction to the receivable account of the partner." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:77 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:81 msgid ":guilabel:`Sales`: Open a list view of sales orders belonging to the transaction's :guilabel:`Partner` (or proceed directly to the form view if only one relevant sales order exists). Select the relevant sales order(s) and click :guilabel:`Create Invoices`, then return to the :guilabel:`Bank Matching` view and match the invoice(s) using the :guilabel:`Reconcile` action button." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:82 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:86 msgid ":guilabel:`Payable`: Write off the transaction to the payable account of the partner." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:83 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:87 msgid ":guilabel:`Reconcile`: Open a search view of existing items from records such as customer invoices, vendor bills, and payments. Select one or multiple items to add counterpart items with the corresponding accounts of those items." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:86 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:90 msgid ":guilabel:`Batches`: Open a short list of :doc:`batch payments <../payments/batch>`. To view all batch payments, click :guilabel:`Search More ...`. Select a batch payment to add a counterpart item for each payment of the batch with the corresponding account of each payment." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:89 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:93 msgid ":doc:`reconciliation_models`: Each manual reconciliation model that could apply to the transaction is displayed. Click the reconciliation model's action button to generate the counterpart items defined on the reconciliation model." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:94 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:98 msgid "To remove the partner from a transaction, click the :icon:`fa-times` :guilabel:`(close)` icon next to the partner's name." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:97 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:101 msgid "Click the :icon:`fa-chevron-down` :guilabel:`(chevron down)` button next to the possible action buttons of an expanded line to display any of the above action buttons that are hidden due to space limitations, as well as the following:" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:101 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:105 msgid ":guilabel:`Upload bills`: Upload one or more bills to be :doc:`digitized <../vendor_bills/invoice_digitization>`. After digitization, the bills are available for matching via the :guilabel:`Reconcile` action button." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:104 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:108 msgid ":guilabel:`Manage Models`: Open the list view of :doc:`reconciliation_models`." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:105 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:109 msgid ":guilabel:`Open Journal Entry`: Open the journal entry of this transaction." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:106 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:110 msgid ":guilabel:`Delete Transaction`: Delete this transaction." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:109 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:113 msgid "Uploading bills from the :guilabel:`Bank Matching` view does not automatically reconcile them with the active transaction." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:113 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:117 msgid ":doc:`../../../essentials/in_app_purchase`" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:118 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:122 msgid "Reconcile transactions" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:120 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:124 msgid "When possible, Odoo automatically reconciles transactions based on their fields." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:122 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:126 msgid "If no partner is set on the transaction, the transaction's :guilabel:`Label` is compared with the :guilabel:`Number`, :guilabel:`Customer Reference`, :guilabel:`Bill Reference`, and :guilabel:`Payment Reference` of existing invoices, bills, and payments." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:126 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:130 msgid "If a partner is set on the transaction, the transaction is instead matched with invoices, bills, and payments of the partner based on the :guilabel:`Amount`. The following rules are used in a sequential order to identify and apply a match:" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:130 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:134 msgid "Exact match" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:131 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:135 msgid "Discounted match: for payment terms with discounts for early payments" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:132 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:136 msgid "Tolerance match: within 3% to account for merchant fees, rounding differences, and user errors" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:133 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:137 msgid "Currency match: when the transaction is in a different currency than the invoice, bill, or payment (with a 3% tolerance for exchange rate differences)" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:135 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:139 msgid "Amount in label: if the invoice :guilabel:`Amount` is found in the transaction's :guilabel:`Label`" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:138 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:142 msgid "In addition to using these fixed matching rules, transactions can be matched automatically with the use of :doc:`reconciliation models `. Otherwise, reconcile transactions manually by following these steps:" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:142 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:146 msgid "Expand the desired line among unmatched bank transactions to display all available action buttons." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:144 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:148 msgid "Define the counterpart. There are several options for defining a counterpart, including :ref:`matching existing items `, :ref:`manually setting the account `, matching with :doc:`batch payments <../payments/batch>`, and using :ref:`reconciliation model buttons `." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:149 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:153 msgid "If the resulting entry is not fully balanced, add another existing counterpart item or write it off by :ref:`setting the account ` of the remaining amount." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:156 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:160 msgid "Existing items" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:158 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:162 msgid "To reconcile transactions with existing items related to records such as customer invoices, vendor bills, and payments, click the :guilabel:`Reconcile` action button, select the matching journal item(s) in the list, and click :guilabel:`Select`." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:163 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:167 msgid "If the :guilabel:`Partner` is set, this list is automatically filtered to only include items related to that partner." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:167 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:171 msgid "Use the search bar within the :guilabel:`Search: Journal Items to Match` window to search for specific journal items." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:170 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:174 msgid "If a transaction amount is lower than the invoice or bill it is reconciled with, the transaction is fully reconciled, but the difference remains open on the counterpart item. The remaining amount can be left open to be reconciled later or the invoice or bill can be marked as fully paid. To mark the invoice or bill as fully paid, :ref:`edit ` the line, click :guilabel:`fully paid`, and :guilabel:`Save`. To reverse this, :ref:`edit ` the line again, click :guilabel:`partial payment`, and :guilabel:`Save`." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:178 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:182 msgid "If a transaction amount is greater than the invoice or bill it is reconciled with, the transaction is only partially reconciled. The remaining balance can be reconciled as any other transaction amount." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:183 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:187 msgid "Existing items of draft entries can be matched. Eventual automatic moves (like currency exchange or cash basis moves) are created in draft simultaneously with the reconciliation. Posting the original entry also posts the automatic move." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:190 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:194 msgid "Set account" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:192 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:196 msgid "If no existing item matches the selected transaction, you can still write off the transaction manually: Click :guilabel:`Set Account`, then choose the appropriate account. To write off only part of the transaction, :ref:`edit the line ` to reflect the correct value and reconcile the remaining amount as desired." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:198 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:202 msgid "If the partner is set, write the amount off to their receivable or payable account directly by clicking the :guilabel:`Receivable` or :guilabel:`Payable` :ref:`action button `." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:205 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:209 #: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:3 msgid "Reconciliation models" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:207 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:211 msgid "Use :doc:`reconciliation models ` to create custom rules that can be applied automatically or manually via custom buttons for operations that are frequently repeated. These custom buttons allow you to quickly reconcile bank transactions manually and can also be combined with other reconciliation models and with counterpart items when reconciling transactions." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:213 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:217 #: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:140 msgid "An outgoing bank transaction for $103 is partially matched with a vendor bill for $100, leaving $3 of the transaction still unreconciled. Use the :guilabel:`Bank Fees` reconciliation model to create a new counterpart item for $3 and reconcile it with the remaining $3 of the bank transaction." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:221 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:225 msgid "Edit lines and unreconcile transactions" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:223 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:227 msgid "To edit a counterpart item, expand the line, click the :icon:`fa-pencil` :guilabel:`(pencil)` icon, and edit the necessary fields in :guilabel:`Edit Line` window." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:227 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:231 msgid "When the counterpart item is an existing journal item, some fields are read-only." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:229 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:233 msgid "If a transaction is partially matched with a counterpart item, use the link to mark the invoice as :guilabel:`fully paid` or to switch back to a :guilabel:`partial payment`." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:232 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:236 msgid "To unreconcile a transaction, delete all counterpart items associated with the transaction by clicking on the :icon:`fa-trash` :guilabel:`(trash)` icon." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:238 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:242 msgid "Netting" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:240 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:244 msgid "Netting (also known as AP/AR offsetting) is the process of balancing incoming debts from and outgoing debts to the same partner. Reconciling the incoming and outgoing debts creates a new journal entry that balances the debts. Two main scenarios exist:" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:244 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:248 msgid ":ref:`A bank transaction balances ` (either fully or partially) the incoming and outgoing debts." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:246 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:250 msgid ":ref:`No bank transaction balances ` the incoming and outgoing debts. This situation can occur either when the debts balance each other completely or when the debts remain unbalanced." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:253 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:257 msgid "Netting with bank transactions" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:255 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:259 msgid "When a bank transaction balances (either fully or partially) the incoming and outgoing debts, reconcile the bank transaction from the :guilabel:`Bank Matching` view like any other :ref:`existing items `:" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:259 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:263 msgid "Click :guilabel:`Reconcile` on the transaction." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:260 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:264 msgid "Select all the relevant counterpart items on both the payable and receivable side." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:261 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:265 msgid "Click :guilabel:`Select`." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:262 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:266 msgid "If a balance remains, depending on the details, the following situations are possible:" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:264 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:268 msgid "An invoice, bill, or other item is not fully reconciled, and the remaining balance can be :ref:`reconciled ` with other bank transactions." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:266 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:270 msgid "The bank transaction itself is not fully reconciled, and the remaining balance can be :ref:`reconciled ` as in any other situation." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:272 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:276 msgid "Netting without bank transactions" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:274 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:278 msgid "When no bank transaction balances the incoming and outgoing debts, there is nothing to reconcile from the :guilabel:`Bank Matching` view. However, the debt amount is visible in both the account receivable and the account payable. To balance these debts so that they no longer appear on the partner ledger, follow these steps:" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:279 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:283 msgid "Go to :menuselection:`Accounting --> Accounting --> Reconcile`." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:280 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:284 msgid "Select the journal items that debit or credit the account receivable and account payable and represent the debts to be netted." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:282 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:286 #: ../../content/applications/finance/accounting/payments.rst:279 msgid "Click :guilabel:`Reconcile`." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:283 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:287 msgid "If the debts don't balance each other perfectly, a :guilabel:`Write-Off Entry` popup window appears, allowing you to decide how to resolve the remaining balance:" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:286 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:290 msgid "Select :guilabel:`Allow partials` to only partially reconcile the account receivable and account payable and leave the remaining balance open." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:288 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:292 msgid "Use a :doc:`reconciliation model button ` to write off the balance." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:289 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:293 msgid "Manually choose an :guilabel:`Account`, and optionally adjust the :guilabel:`Tax`, :guilabel:`Journal`, :guilabel:`Label`, :guilabel:`Date`, and :guilabel:`To Check` fields." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:292 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:296 msgid "The items are then matched, and their balance is removed from the partner ledger, representing that no payment is due for these debts." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:296 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:300 msgid "The workflow is the same whether there are only two equal debts in the receivable and payable accounts or multiple debts in each account." msgstr "" @@ -2040,10 +1964,6 @@ msgstr "" msgid "Once a transaction is :doc:`reconciled `, its action buttons are replaced with the labels of the item(s) it was reconciled with or the account if it was reconciled with the :guilabel:`Set Account` action button." msgstr "" -#: ../../content/applications/finance/accounting/bank/transactions.rst:60 -msgid "Duplicate transactions" -msgstr "" - #: ../../content/applications/finance/accounting/bank/transactions.rst:62 msgid "Duplicate transactions occur when either by human error or :doc:`bank sync ` error, the same transaction is created multiple times. The duplicate transaction view identifies potential duplicate transactions so they can be selected and deleted. To access the duplicate transaction view, first access the :guilabel:`Bank Matching` view by going to the :guilabel:`Accounting Dashboard` and clicking the bank journal's name, then open the :icon:`fa-cog` :guilabel:`Actions` menu and click :guilabel:`Find Duplicate Transactions`." msgstr "" @@ -2634,7 +2554,7 @@ msgid "€98 + (21% of €100)" msgstr "" #: ../../content/applications/finance/accounting/customer_invoices/cash_discounts.rst:140 -msgid ":ref:`Tax grids `, which are used for the tax report, are correctly computed according to the :ref:`type of tax reduction ` you configured." +msgid ":ref:`Tax grids `, which are used for the tax report, are correctly computed according to the :ref:`type of tax reduction ` you configured." msgstr "" #: ../../content/applications/finance/accounting/customer_invoices/cash_discounts.rst:143 @@ -3338,6 +3258,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 msgid "Click :guilabel:`Save`." msgstr "" @@ -5873,7 +5794,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/chile.rst:380 #: ../../content/applications/finance/fiscal_localizations/colombia.rst:213 #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:131 -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:200 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:206 #: ../../content/applications/finance/fiscal_localizations/jordan.rst:60 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:208 #: ../../content/applications/finance/fiscal_localizations/peru.rst:128 @@ -5882,7 +5803,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/spain.rst:39 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:120 #: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:65 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:234 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:231 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:245 msgid "Taxes" msgstr "" @@ -6052,267 +5973,259 @@ msgid "Thus, when shipments are returned to their supplier, Odoo automatically g msgstr "" #: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:27 -msgid "This document addresses a specific use case for theoretical purposes. For instructions on how to set up and use |AVCO|, refer to the :doc:`inventory valuation configuration <../../../inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config>` doc." +msgid "This document addresses a specific use case for theoretical purposes. For instructions on how to set up and use |AVCO|, refer to the :doc:`inventory valuation cheat sheet <../../../inventory_and_mrp/inventory/inventory_valuation/cheat_sheet>`." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:33 -msgid ":doc:`Using inventory valuation <../../../inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation>`" -msgstr "" - -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:35 -msgid ":ref:`Other inventory valuation methods `" -msgstr "" - -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:40 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:34 msgid "To use average cost inventory valuation on a product, navigate to :menuselection:`Inventory --> Configuration --> Product Categories` and select the category that will be using |AVCO|. On the product category page, set :guilabel:`Costing Method` to `Average Cost (AVCO)` and :guilabel:`Inventory Valuation` to `Automated`." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:46 -msgid ":doc:`Inventory valuation configuration <../../../inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config>`" +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:40 +msgid ":doc:`Inventory valuation cheat sheet <../../../inventory_and_mrp/inventory/inventory_valuation/cheat_sheet>`" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:50 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:44 msgid "Using average cost valuation" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:52 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:46 msgid "The average cost method adjusts the inventory valuation when products are received in the warehouse. This section explains how it works, but if the explanation is unnecessary, skip to the :ref:`return to supplier use case ` section." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:59 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:53 msgid "Formula" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:61 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:55 msgid "When new products arrive, the new average cost for each product is recomputed using the formula:" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:63 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:57 msgid "Avg~Cost = \\frac{(Old~Qty \\times Old~Avg~Cost) + (Incoming~Qty \\times Purchase~Price)}{Final~Qty}\n" "\n" "" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:66 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:60 msgid "**Old Qty**: product count in stock before receiving the new shipment;" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:67 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:61 msgid "**Old Avg Cost**: calculated average cost for a single product from the previous inventory valuation;" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:69 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:63 msgid "**Incoming Qty**: count of products arriving in the new shipment;" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:70 -msgid "**Purchase Price**: estimated price of products at the reception of products (since vendor bills may arrive later). The amount includes not only the price for the products, but also added costs, such as shipping, taxes, and :doc:`landed costs <../../../inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs>`. At reception of the vendor bill, this price is adjusted;" +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:64 +msgid "**Purchase Price**: estimated price of products at the reception of products (since vendor bills may arrive later). The amount includes not only the price for the products, but also added costs, such as shipping, taxes, and :doc:`landed costs <../../../inventory_and_mrp/inventory/inventory_valuation/landed_costs>`. At reception of the vendor bill, this price is adjusted;" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:75 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:69 msgid "**Final Qty**: quantity of on-hand stock after the stock move." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:80 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:74 msgid "When products leave the warehouse, the average cost **does not** change. Read about why the average cost valuation is **not** adjusted :ref:`here `." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:86 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:80 msgid "Compute average cost" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:88 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:82 msgid "To understand how the average cost of a product changes with each shipment, consider the following table of warehouse operations and stock moves. Each is a different example of how the average cost valuation is affected." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:93 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:199 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:240 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:277 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:87 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:193 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:234 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:268 msgid "Operation" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:93 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:87 msgid "Incoming Value" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:93 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:199 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:240 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:277 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:87 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:193 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:234 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:268 msgid "Inventory Value" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:93 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:199 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:240 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:277 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:87 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:193 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:234 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:268 msgid "Qty On Hand" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:93 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:199 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:240 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:277 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:87 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:193 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:234 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:268 msgid "Avg Cost" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:95 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:95 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:279 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:279 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:283 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:287 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:289 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:293 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:89 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:89 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:270 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:270 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:274 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:278 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:280 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:284 msgid "$0" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:95 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:279 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:89 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:270 #: ../../content/applications/finance/fiscal_localizations/france.rst:391 #: ../../content/applications/finance/fiscal_localizations/france.rst:391 #: ../../content/applications/finance/fiscal_localizations/india.rst:209 msgid "0" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:97 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:91 msgid "Receive 8 tables at $10/unit" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:97 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:91 msgid "8 * $10" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:97 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:281 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:283 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:91 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:272 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:274 msgid "$80" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:97 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:281 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:283 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:91 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:272 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:274 msgid "8" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:97 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:281 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:283 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:91 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:272 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:274 msgid "$10" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:99 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:93 msgid "Receive 4 tables at $16/unit" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:99 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:93 msgid "4 * $16" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:99 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:285 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:287 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:93 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:276 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:278 msgid "$144" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:99 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:285 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:287 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:93 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:276 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:278 #: ../../content/applications/finance/fiscal_localizations/france.rst:236 #: ../../content/applications/finance/fiscal_localizations/france.rst:259 msgid "12" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:99 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:101 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:201 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:203 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:203 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:242 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:244 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:244 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:246 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:285 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:287 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:289 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:291 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:293 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:293 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:93 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:95 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:195 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:197 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:197 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:236 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:238 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:238 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:240 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:276 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:278 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:280 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:282 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:284 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:284 msgid "$12" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:101 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:95 msgid "Deliver 10 tables" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:101 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:95 msgid "-10 * $12" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:101 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:201 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:242 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:289 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:95 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:195 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:236 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:280 msgid "$24" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:101 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:201 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:242 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:289 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:95 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:195 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:236 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:280 #: ../../content/applications/finance/fiscal_localizations/india.rst:195 #: ../../content/applications/finance/fiscal_localizations/india.rst:209 msgid "2" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:107 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:101 msgid "Ensure comprehension of the above computations by reviewing the \"Receive 8 tables at $10/unit\" example." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:110 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:104 msgid "Initially, the product stock is 0, so all values are $0." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:112 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:106 msgid "In the first warehouse operation, `8` tables are received at `$10` each. The average cost is calculated using the :ref:`formula `:" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:115 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:109 msgid "Avg~Cost = \\frac{0 + 8 \\times $10}{8} = \\frac{$80}{8} = $10\n" "\n" "" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:118 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:112 msgid "Since the *incoming quantity* of tables is `8` and the *purchase price* for each is `$10`," msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:119 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:113 msgid "The inventory value in the numerator is evaluated to `$80`;" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:120 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:114 msgid "`$80` is divided by the total amount of tables to store, `8`;" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:121 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:115 msgid "`$10` is the average cost of a single table from the first shipment." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:123 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:117 msgid "To verify this in Odoo, in the *Purchase* app, order `8` quantities of a new product, `Table`, with no previous stock moves, for `$10` each." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:126 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:120 msgid "In the table's :guilabel:`Product Category` field in the :guilabel:`General Information` tab of the product form, click the :guilabel:`➡️ (arrow)` icon, to open an :guilabel:`External Link` to edit the product category. Set the :guilabel:`Costing Method` to `Average Cost (AVCO)` and :guilabel:`Inventory Valuation` to `Automated`." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:131 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:125 msgid "Then, return to the purchase order. Click :guilabel:`Confirm Order`, and click :guilabel:`Receive Products` to confirm receipt." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:134 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:128 msgid "Next, check the inventory valuation record generated by the product reception by navigating to :menuselection:`Inventory --> Reporting --> Inventory Valuation`. Select the drop-down for `Table`, and view the :guilabel:`Total Value` column for the *valuation layer* (:dfn:`inventory valuation at a specific point in time = on-hand quantity * unit price`). The 8 tables in-stock are worth $80." msgstr "" @@ -6320,53 +6233,53 @@ msgstr "" msgid "Show inventory valuation of 8 tables in Odoo." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:145 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:139 msgid "When the product category's :guilabel:`Costing Method` is set to :guilabel:`AVCO`, then the average cost of a product is also displayed on the :guilabel:`Cost` field, under the :guilabel:`General Information` tab, on the product page itself." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:150 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:144 msgid "Product delivery (use case)" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:152 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:146 msgid "For outgoing shipments, :ref:`outbound products have no effect on the average cost valuation `. Although the average cost valuation is not recalculated, the inventory value still decreases because the product is removed from stock and delivered to the customer location." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:158 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:152 msgid "To demonstrate that the average cost valuation is not recalculated, examine the \"Deliver 10 tables\" example." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:161 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:155 msgid "Avg~Cost = \\frac{12 \\times $12 + (-10) \\times $12}{12-10} = \\frac{24}{2} = $12\n" "\n" "" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:164 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:158 msgid "Because 10 tables are being sent out to customers, the *incoming quantity* is `-10`. The previous average cost (`$12`) is used in lieu of a vendor's *purchase price*;" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:166 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:160 msgid "The *incoming inventory value* is `-10 * $12 = -$120`;" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:167 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:161 msgid "The old *inventory value* (`$144`) is added to the *incoming inventory value* (`-$120`), so `$144 + -$120 = $24`;" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:169 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:163 msgid "Only `2` tables remain after shipping out `10` tables from `12`. So the current *inventory value* (`$24`) is divided by the on-hand quantity (`2`);" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:171 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:165 msgid "`$24 / 2 = $12`, which is the same average cost as the previous operation." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:173 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:167 msgid "To verify this in Odoo, sell `10` tables in the *Sales* app, validate the delivery, and then review the inventory valuation record by going to in :menuselection:`Inventory --> Reporting --> Inventory Valuation`. In the topmost valuation layer, delivering `10` tables reduces the product's value by `-$120`." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:178 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:172 msgid "**Note**: What is not represented in this stock valuation record is the revenue made from this sale, so this decrease is not a loss to the company." msgstr "" @@ -6374,42 +6287,42 @@ msgstr "" msgid "Show how deliveries decrease inventory valuation." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:188 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:182 msgid "Return items to supplier (use case)" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:190 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:184 msgid "Because the price paid to suppliers can differ from the price the product is valued at with the |AVCO| method, Odoo handles returned items in a specific way." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:193 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:187 msgid "Products are returned to suppliers at the original purchase price, but;" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:194 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:188 msgid "The internal cost valuation remains unchanged." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:196 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:190 msgid "The above :ref:`example table ` is updated as follows:" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:199 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:193 msgid "Qty*Avg Cost" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:203 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:197 msgid "Return 1 table bought at $10" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:203 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:197 msgid "-1 * $12" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:203 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:244 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:291 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:293 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:197 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:238 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:282 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:284 #: ../../content/applications/finance/fiscal_localizations/france.rst:393 #: ../../content/applications/finance/fiscal_localizations/india.rst:193 #: ../../content/applications/finance/fiscal_localizations/india.rst:197 @@ -6417,19 +6330,19 @@ msgstr "" msgid "1" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:206 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:200 msgid "In other words, returns to vendors are perceived by Odoo as another form of a product exiting the warehouse. To Odoo, because the table is valued at $12 per unit, the inventory value is reduced by `$12` when the product is returned; the initial purchase price of `$10` is unrelated to the table's average cost." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:212 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:206 msgid "To return a single table that was purchased for `$10`, navigate to the receipt in the *Inventory* app for the :ref:`8 tables purchased in Exercise 1 ` by going to the :guilabel:`Inventory Overview`, clicking on :guilabel:`Receipts`, and selecting the desired receipt." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:217 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:211 msgid "Then, click :guilabel:`Return` on the validated delivery order, and modify the quantity to `1` in the reverse transfer window. This creates an outgoing shipment for the table. Select :guilabel:`Validate` to confirm the outgoing shipment." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:221 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:215 msgid "Return to :menuselection:`Inventory --> Reporting --> Inventory Valuation` to see how the outgoing shipment decreases the inventory value by $12." msgstr "" @@ -6437,181 +6350,177 @@ msgstr "" msgid "Inventory valuation for return." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:231 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:225 msgid "Eliminate stock valuation errors in outgoing products" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:233 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:227 msgid "Inconsistencies can occur in a company's inventory when the average cost valuation is recalculated on outgoing shipments." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:236 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:230 msgid "To demonstrate this error, the table below displays a scenario in which 1 table is shipped to a customer and another is returned to a supplier at the purchased price." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:240 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:234 msgid "Qty*Price" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:244 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:238 msgid "Ship 1 product to customer" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:244 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:238 msgid "-1 \\* $12" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:246 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:240 msgid "Return 1 product initially bought at $10" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:246 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:240 msgid "-1 \\* $10" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:246 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:291 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:240 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:282 msgid "**$2**" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:246 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:240 msgid "**0**" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:249 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:243 msgid "In the final operation above, the final inventory valuation for the table is `$2` even though there are `0` tables left in stock." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:252 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:246 msgid "Correct method" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:254 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:248 msgid "Use the average cost to value the return. This does not mean the company gets $12 back for a $10 purchase; the item returned for $10 is valued internally at $12. The inventory value change represents a product worth $12 no longer being accounted for in company assets." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:259 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:253 msgid "Anglo-Saxon accounting" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:261 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:255 msgid "In addition to using |AVCO|, companies that use **Anglo-Saxon accounting** also keep a holding account that tracks the amount to be paid to vendors. Once a vendor delivers an order, **inventory value** increases based on the vendor price of the products that have entered the stock. The holding account (called **stock input**) is credited and only reconciled once the vendor bill is received." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:267 -msgid ":ref:`Anglo-Saxon vs. Continental `" -msgstr "" - -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:269 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:260 msgid "The table below reflects journal entries and accounts. The *stock input* account stores the money intended to pay vendors when the vendor bill has not yet been received. To balance accounts when returning products that have a price difference between the price the product is **valued at** and the price it was bought for, a *price difference* account is created." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:277 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:268 msgid "Stock Input" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:277 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:268 msgid "Price Diff" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:281 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:272 msgid "Receive 8 tables at $10" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:281 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:272 msgid "($80)" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:283 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:274 msgid "Receive vendor bill $80" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:285 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:276 msgid "Receive 4 tables at $16" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:285 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:276 msgid "($64)" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:287 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:278 msgid "Receive vendor bill $64" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:289 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:280 msgid "Deliver 10 tables to customer" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:291 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:282 msgid "Return 1 table initially bought at $10" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:291 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:282 msgid "**$10**" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:291 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:282 msgid "**$12**" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:293 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:284 msgid "Receive vendor refund $10" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:293 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:284 msgid "$2" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:297 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:288 msgid "Product reception" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:300 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:291 msgid "Summary" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:302 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:293 msgid "At product reception, Odoo ensures companies can pay for goods that were purchased by preemptively moving an amount matching the price of received goods into the :doc:`liability account `, **Stock Input**. Then, once the bill has been received, the amount in the holding account is transferred to *Accounts Payable*. Transfers into this account means the bill has been paid. **Stock Input** is reconciled once the vendor bill is received." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:309 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:300 msgid "Inventory valuation is a method of calculating how much each in-stock product is worth internally. Since there is a difference between the price the product is **valuated at** and the price the product was actually **purchased for**, the **Inventory Valuation** account is unrelated to the crediting and debiting operations of the **Stock Input** account." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:314 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:305 msgid "To conceptualize all this, follow the breakdown below." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:317 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:308 msgid "Accounts balanced at received products" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:319 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:310 msgid "In this example, a company starts with zero units of a product, `table`, in stock. Then, 8 tables are received from the vendor:" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:322 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:313 msgid "The **Stock Input** account stores `$80` of credit owed to the vendor. The amount in this account is unrelated to the inventory value." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:324 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:315 msgid "`$80` worth of tables came **in** (**debit** the *Inventory Value* account `$80`), and" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:325 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:316 msgid "`$80` must be paid **out** for received goods (**credit** the *Stock Input* account `$80`)." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:328 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:371 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:319 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:362 msgid "In Odoo" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:330 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:321 msgid "Odoo generates an accounting journal entry when shipments that use |AVCO| costing method are received. Configure a :guilabel:`Price Difference Account` by selecting the :guilabel:`➡️ (arrow)` icon next to the :guilabel:`Product Category` field on the product page." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:334 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:325 msgid "Under :guilabel:`Account Properties`, create a new :guilabel:`Price Difference Account` by typing in the name of the account and clicking :guilabel:`Create and Edit`. Then set the account :guilabel:`Type` as `Expenses`, and click :guilabel:`Save`." msgstr "" @@ -6619,7 +6528,7 @@ msgstr "" msgid "Create price difference account." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:342 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:333 msgid "Then, receive the shipment in the *Purchase* app or *Inventory* app, and navigate to the :menuselection:`Accounting app --> Accounting --> Journal Entries`. In the list, find the :guilabel:`Reference` that matches the warehouse reception operation for the relevant product." msgstr "" @@ -6627,7 +6536,7 @@ msgstr "" msgid "Show accounting entry of 8 tables from the list." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:350 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:341 msgid "Click on the line for 8 tables. This accounting journal entry shows that when the 8 tables were received, the `Stock Valuation` account increased by `$80`. Conversely, the **Stock Input** account (set as `Stock Interim (Received)` account by default) is credited `$80`." msgstr "" @@ -6635,31 +6544,31 @@ msgstr "" msgid "Debit stock valuation and credit stock input 80 dollars." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:359 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:350 msgid "Accounts balanced at received vendor bill" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:361 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:352 msgid "In this example, a company starts with zero units of a product, table, in stock. Then, 8 tables are received from the vendor. When the bill is received from vendor for 8 tables:" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:364 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:355 msgid "Use `$80` in the **Stock Input** account to pay the bill. This cancels out and the account now holds `$0`." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:366 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:357 msgid "Debit **Stock Input** `$80` (to reconcile this account)." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:367 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:358 msgid "Credit **Accounts payable** `$80`. This account stores the amount the company owes others, so accountants use the amount to write checks to vendors." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:373 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:364 msgid "Once the vendor requests payment, navigate to the :menuselection:`Purchase app --> Orders --> Purchase` and select the :abbr:`PO (Purchase Order)` for 8 tables. Inside the :abbr:`PO (Purchase Order)`, select :guilabel:`Create Bill`." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:377 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:368 msgid "Switch to the :guilabel:`Journal Items` tab to view how `$80` is transferred from the holding account, `Stock Interim (Received)` to `Accounts Payable`. :guilabel:`Confirm` the bill to record the payment to the vendor." msgstr "" @@ -6667,19 +6576,19 @@ msgstr "" msgid "Show bill linked to the purchase order for 8 tables." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:386 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:377 msgid "On product delivery" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:388 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:379 msgid "In the :ref:`above example table `, when 10 products are delivered to a customer, the **Stock Input** account is untouched because there are no new products coming in. To put it simply:" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:392 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:383 msgid "**Inventory valuation** is credited `$120`. Subtracting from inventory valuation represents `$120` worth of products exiting the company." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:394 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:385 msgid "Debit **Accounts Receivable** to record revenue from the sale." msgstr "" @@ -6687,39 +6596,39 @@ msgstr "" msgid "Show journal items linked to sale order." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:402 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:393 msgid "In the accounting journal entry invoicing a customer for 10 tables, the accounts **Product Sales**, **Tax Received**, and **Accounts Receivable** all pertain to the sale of the product. **Accounts Receivable** is the account where the customer payment will be received." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:406 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:397 msgid "Anglo-Saxon accounting recognizes the cost of goods sold (COGS) once the sale is made. So, up until the product is sold, scrapped, or returned, costs of keeping the product in stock are not accounted for. The **Expense** account is debited `$120` to log the costs of storing 10 tables during this period of time." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:412 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:403 msgid "On product return" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:414 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:405 msgid "In the :ref:`above example table `, when returning 1 product to a vendor purchased at `$10`, a company expects `$10` in the **Accounts Payable** account from the vendor. However, **Stock Input** account must be debited `$12` because the average cost is `$12` at the time of the return. The missing `$2` is accounted for in the :guilabel:`Price Difference Account`, which is set up in the product's :guilabel:`Product Category`." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:421 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:412 msgid "Behavior of *price difference accounts* varies from localization. In this case, the account is intended to store differences between vendor price and *automated* inventory valuation methods." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:424 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:415 msgid "Summary:" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:426 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:417 msgid "Debit **Stock Input** account `$10` to move the table from stock to stock input. This move is to indicate that the table is to be processed for an outgoing shipment." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:428 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:419 msgid "Debit **Stock Input** an additional `$2` to account for the **Price Difference**." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:429 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:420 msgid "Credit **Stock Valuation** `$12` because the item is leaving the stock." msgstr "" @@ -6727,15 +6636,15 @@ msgstr "" msgid "2 dollar difference expensed in Price Difference account." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:435 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:426 msgid "Once the vendor's refund is received," msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:437 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:428 msgid "Credit **Stock Input** account `$10` to reconcile the price of the table." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:438 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:429 msgid "Debit **Accounts Payable** `$10` to have the accountants collect and register the payment in their journal." msgstr "" @@ -6752,13 +6661,13 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/chile.rst:365 #: ../../content/applications/finance/fiscal_localizations/colombia.rst:283 #: ../../content/applications/finance/fiscal_localizations/germany.rst:9 -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:173 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:179 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:1099 #: ../../content/applications/finance/fiscal_localizations/romania.rst:69 #: ../../content/applications/finance/fiscal_localizations/spain.rst:30 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:42 #: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:53 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:115 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:114 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:213 msgid "Chart of accounts" msgstr "" @@ -6860,9 +6769,10 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/egypt.rst:18 #: ../../content/applications/finance/fiscal_localizations/france.rst:17 #: ../../content/applications/finance/fiscal_localizations/france.rst:207 -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:75 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:76 #: ../../content/applications/finance/fiscal_localizations/hong_kong.rst:16 #: ../../content/applications/finance/fiscal_localizations/india.rst:18 +#: ../../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 @@ -6877,7 +6787,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/thailand.rst:16 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:18 #: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:18 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:64 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:63 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:60 #: ../../content/applications/finance/fiscal_localizations/vietnam.rst:19 msgid "Description" @@ -7185,7 +7095,7 @@ msgid ":doc:`../customer_invoices/deferred_revenues`" msgstr "" #: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:187 -#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:125 +#: ../../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`" @@ -8070,7 +7980,7 @@ msgid ":doc:`../reporting/tax_returns`" msgstr "" #: ../../content/applications/finance/accounting/get_started/journals.rst:261 -#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:123 +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:15 #: ../../content/applications/finance/accounting/taxes/eu_distance_selling.rst:37 #: ../../content/applications/finance/accounting/taxes/fiscal_positions.rst:119 #: ../../content/applications/finance/accounting/taxes/retention.rst:42 @@ -8321,7 +8231,7 @@ msgid "`Odoo Tutorials: Bank Configuration Configuration --> Settings --> Vendor Payments: SEPA Credit Transfer (SCT)`. By activating the setting and filling out your company data, you will be able to use the SCT option when paying your vendor." msgstr "" -#: ../../content/applications/finance/accounting/payments/pay_sepa.rst:57 +#: ../../content/applications/finance/accounting/payments/pay_sepa.rst:59 msgid "According to the localization package installed, the **SEPA Direct Debit** and **SEPA Credit Transfer** modules may be installed by default. If not, they need to be :ref:`installed `." msgstr "" -#: ../../content/applications/finance/accounting/payments/pay_sepa.rst:61 +#: ../../content/applications/finance/accounting/payments/pay_sepa.rst:65 msgid "Activate SEPA payment methods on banks" msgstr "" -#: ../../content/applications/finance/accounting/payments/pay_sepa.rst:63 +#: ../../content/applications/finance/accounting/payments/pay_sepa.rst:67 msgid "From the accounting dashboard, click on the drop-down menu (:guilabel:`⋮`) on your bank journal and select :guilabel:`Configuration`. Click the :guilabel:`Outgoing Payments` tab, and, if not already present, add :guilabel:`SEPA Credit Transfer` under :guilabel:`Payment Method`." msgstr "" -#: ../../content/applications/finance/accounting/payments/pay_sepa.rst:67 +#: ../../content/applications/finance/accounting/payments/pay_sepa.rst:71 msgid "Make sure to specify the IBAN account number (domestic account numbers do not work with SEPA) and the BIC (bank identifier code) in the :guilabel:`Journal Entries` tab." msgstr "" -#: ../../content/applications/finance/accounting/payments/pay_sepa.rst:71 +#: ../../content/applications/finance/accounting/payments/pay_sepa.rst:77 msgid "Registering payments" msgstr "" -#: ../../content/applications/finance/accounting/payments/pay_sepa.rst:73 +#: ../../content/applications/finance/accounting/payments/pay_sepa.rst:79 msgid "You can register any vendor payments made with SEPA. To do so, go to :menuselection:`Accounting --> Vendors --> Payments`. When creating your payment, select :guilabel:`SEPA Credit Transfer` as the :guilabel:`Payment Method`." msgstr "" -#: ../../content/applications/finance/accounting/payments/pay_sepa.rst:77 +#: ../../content/applications/finance/accounting/payments/pay_sepa.rst:83 msgid "The first time you pay a vendor with SEPA, you have to fill in the :guilabel:`Recipient Bank Account` field with the bank name, IBAN, and BIC (Bank Identifier Code). Odoo automatically verifies if the IBAN format is respected." msgstr "" -#: ../../content/applications/finance/accounting/payments/pay_sepa.rst:81 +#: ../../content/applications/finance/accounting/payments/pay_sepa.rst:87 msgid "For future payments to this vendor, Odoo will automatically suggest you the bank account, but it remains possible to select a new one." msgstr "" -#: ../../content/applications/finance/accounting/payments/pay_sepa.rst:84 +#: ../../content/applications/finance/accounting/payments/pay_sepa.rst:90 msgid "Once your payment is registered, do not forget to confirm it. You can also pay vendor bills from the bill directly using the :guilabel:`Register Payment` button at the top of a vendor bill. The form is the same, but the payment is directly linked to the bill and will be automatically reconciled with it." msgstr "" @@ -11212,118 +11123,390 @@ msgid "Illustration of the tax return" msgstr "" #: ../../content/applications/finance/accounting/reporting/tax_returns.rst:3 -msgid "Tax return (VAT declaration)" +msgid "Tax return (VAT report)" msgstr "" #: ../../content/applications/finance/accounting/reporting/tax_returns.rst:5 -msgid "Companies with a registered :abbr:`VAT (Value Added Tax)` number must submit a **tax return** on a monthly or quarterly basis, depending on their turnover and the registration regulation. A tax return - or VAT return - gives the tax authorities information about the taxable transactions made by the company. The **output tax** is charged on the number of goods and services sold by a business, while the **input tax** is the tax added to the price when goods or services are purchased. Based on these values, the company can calculate the tax amount they have to pay or be refunded." +msgid "Companies with a registered :abbr:`VAT (Value Added Tax)` number are required to submit a tax return monthly or quarterly, depending on their turnover and the applicable regulatory requirements. A tax return - or VAT report - provides the tax authorities with information about the taxable transactions made by the company. The **output tax** is charged on the sale of goods and services, while the **input tax** refers to the tax included in the price of purchased goods or services. Based on these values, the company can calculate the tax amount they must pay or be refunded." msgstr "" -#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:14 -msgid "You can find additional information about VAT and its mechanism on this page from the European Commission: `\"What is VAT?\" `_." +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:13 +msgid "`European Commission documentation on VAT `_." msgstr "" -#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:20 -#: ../../content/applications/finance/accounting/taxes/avatax.rst:237 -#: ../../content/applications/finance/accounting/vendor_bills/assets.rst:32 -msgid "Prerequisites" -msgstr "" - -#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:25 -msgid "Tax Return Periodicity" +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:16 +#: ../../content/applications/finance/accounting/taxes/avatax.rst:151 +msgid ":doc:`../get_started`" msgstr "" #: ../../content/applications/finance/accounting/reporting/tax_returns.rst:27 -msgid "The configuration of the **Tax Return Periodicity** allows Odoo to compute your tax return correctly and also to send you a reminder to never miss a tax return deadline." +msgid "Tax return periodicity" msgstr "" -#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:30 -msgid "To do so, go to :menuselection:`Accounting --> Configuration --> Settings`. Under the :guilabel:`Tax Return Periodicity`, you can set:" +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:29 +msgid "The configuration of the tax return periodicity allows Odoo to compute tax returns correctly and automatically send reminders to make sure that deadlines are met." msgstr "" -#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:33 -msgid ":guilabel:`Periodicity`: define here whether you submit your tax return on a monthly or quarterly basis;" +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:32 +msgid "To do so, go to :menuselection:`Accounting --> Configuration --> Settings`, navigate to the :guilabel:`Tax Return Periodicity` section, and update the following fields, if needed:" msgstr "" #: ../../content/applications/finance/accounting/reporting/tax_returns.rst:35 -msgid ":guilabel:`Reminder`: define when Odoo should remind you to submit your tax return;" +msgid ":guilabel:`Periodicity`: Define the tax return periodicity." msgstr "" #: ../../content/applications/finance/accounting/reporting/tax_returns.rst:36 -msgid ":guilabel:`Journal`: select the journal in which to record the tax return." +msgid ":guilabel:`Deadline`: Define when Odoo should send reminders to submit the tax return." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:37 +msgid ":guilabel:`Journal`: Update the journal where the tax return is recorded, if needed." msgstr "" #: ../../content/applications/finance/accounting/reporting/tax_returns.rst:40 -msgid "This is usually configured during the :doc:`app's initial set up <../get_started>`." +msgid "This information is usually configured during the :doc:`app's initial setup <../get_started>`." msgstr "" #: ../../content/applications/finance/accounting/reporting/tax_returns.rst:45 -msgid "Tax Grids" +#: ../../content/applications/finance/fiscal_localizations/italy.rst:141 +msgid "Tax grids" msgstr "" #: ../../content/applications/finance/accounting/reporting/tax_returns.rst:47 -msgid "Odoo generates tax reports based on the :guilabel:`Tax Grids` settings that are configured on your taxes. Therefore, it is crucial to make sure that all recorded transactions use the right taxes. You can see the :guilabel:`Tax Grids` by opening the :guilabel:`Journal Items` tab of any invoice and bill." +msgid "Odoo generates tax reports based on the :guilabel:`Tax Grids` settings configured for each tax. All recorded transactions must apply the correct tax rates to ensure accurate reporting." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:50 +msgid ":guilabel:`Tax Grids` are displayed in the :guilabel:`Journal Items` tab of any invoice or bill." msgstr "" #: ../../content/applications/finance/accounting/reporting/tax_returns.rst:-1 -msgid "see which tax grids are used to record transactions in Odoo Accounting" +msgid "example of tax grids used on an invoice" msgstr "" #: ../../content/applications/finance/accounting/reporting/tax_returns.rst:55 -msgid "To configure your tax grids, go to :menuselection:`Accounting --> Configuration --> Taxes`, and open the tax you want to modify. There, you can edit your tax settings, along with the tax grids that are used to record invoices or refunds." +msgid "To configure tax grids for taxes, go to :menuselection:`Accounting --> Configuration --> Taxes`, open the relevant tax, and edit the tax settings and the tax grids used to record invoices or refunds." msgstr "" #: ../../content/applications/finance/accounting/reporting/tax_returns.rst:60 -msgid "Taxes and reports are usually already pre-configured in Odoo: a :ref:`fiscal localization package ` is installed according to the country you select at the creation of your database." +msgid "Taxes and reports are usually pre-configured according to the country selected for the :doc:`company <../../../general/companies>`." msgstr "" -#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:67 -msgid "Close a tax period" +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:66 +msgid "Tax returns journal" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:68 +msgid "On the Accounting dashboard, complete the following actions displayed in the :guilabel:`Tax Returns` journal before creating tax returns:" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:71 +msgid ":guilabel:`Set Company Data`: :ref:`Configure the company details `." msgstr "" #: ../../content/applications/finance/accounting/reporting/tax_returns.rst:72 -msgid "Tax lock date" +msgid ":guilabel:`Set Periods`: In the :guilabel:`Accounting Periods` window, fill in the :guilabel:`Opening date`, :guilabel:`Fiscal Year End`, and update the :guilabel:`Periodicity` if needed." msgstr "" -#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:74 -msgid "Any new transaction whose accounting date prior to the :guilabel:`Lock Tax Return` date has its tax values moved to the next open tax period. This is useful to make sure that no change can be made to a report once its period is closed." +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:75 +msgid ":guilabel:`Review Chart of Accounts`" msgstr "" -#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:78 -msgid "Therefore, we recommend locking your tax date before working on your :guilabel:`Closing Journal Entry`. This way, other users cannot modify or add transactions that would have an impact on the :guilabel:`Closing Journal Entry`, which can help you avoid some tax declaration errors." +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:80 +msgid "Close a tax period" msgstr "" -#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:83 -msgid "To check the current :guilabel:`Lock Tax Return` date, or to edit it, go to :menuselection:`Accounting --> Accounting --> Lock Dates`." +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:85 +msgid "Tax return lock date" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:87 +msgid "Setting a tax lock date prevents changes that could impact VAT-related journal entries. Locking the period before processing the :guilabel:`Closing Journal Entry` helps ensure the accuracy of the final report and reduces the risk of tax errors." msgstr "" #: ../../content/applications/finance/accounting/reporting/tax_returns.rst:91 -msgid "Once all the transactions involving taxes have been posted for the period you want to report, open the :guilabel:`Tax Return` report by going to :menuselection:`Accounting --> Reporting --> Tax Return`. Select the period you want to declare using the date filter to have an overview of the tax return. Then, click :guilabel:`Closing Entry` to create a tax closing journal entry. Odoo automatically proposes the details of the journal entry. Make any necessary changes and click :guilabel:`Post`." +msgid "To view or edit the current :guilabel:`Lock Tax Return` date, go to :menuselection:`Accounting --> Accounting --> Lock Dates`." msgstr "" -#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:98 -msgid "From the report, click :guilabel:`PDF` to download a PDF of the tax return. Alternatively, click the :icon:`fa-cog` (:guilabel:`gear`) icon, then click :guilabel:`Download Excel` to download an XLSX of the tax return. To save the report to the Documents app, click the :icon:`fa-cog` (:guilabel:`gear`) icon, then click :guilabel:`Copy to Documents`. Select the format to :guilabel:`Export to`, the :guilabel:`Documents Name`, the :guilabel:`Folder` to store it in, and add any :guilabel:`Tags`." +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:95 +msgid "Any new transaction whose accounting date is before the :guilabel:`Lock Tax Return` date has its tax values moved to the next open tax period, preventing any changes to a report after its period is closed." msgstr "" #: ../../content/applications/finance/accounting/reporting/tax_returns.rst:104 -msgid "The report includes all the values to report to the tax authorities, along with the amount to be paid or refunded." +msgid "On the Accounting Dashboard, the :guilabel:`Tax Returns` journal displays automatic reminders to avoid missing important tasks and deadlines." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:107 +msgid "After completing all :ref:`configurations ` and posting all tax-related transactions for the reporting period, click :guilabel:`Tax Returns` on the :guilabel:`Tax Returns` journal from the Accounting dashboard. Alternatively, go to :menuselection:`Accounting --> Accounting --> Tax Returns`." msgstr "" -#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:108 -msgid "If you forgot to lock your tax date before clicking on :guilabel:`Closing Journal Entry`, then Odoo automatically locks your fiscal period on the same date as the accounting date of your entry. This safety mechanism can prevent some fiscal errors, but it is advised to lock your tax date manually before, as described above." +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:112 +msgid "The :guilabel:`Tax Return` view displays a chronological list of all pending :ref:`tax returns (VAT report) ` and :ref:`advance payments ` (based on the :doc:`fiscal localization <../../fiscal_localizations>`). Each item on the list includes:" msgstr "" -#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:114 -msgid "Once the tax report for a period has been generated but not yet posted, additional invoices or bills from that same period can still be posted and included in the closing entry. To do so, click :icon:`oi-arrow-right` :guilabel:`Refresh` in the :guilabel:`Proposition of tax closing journal entry`, or click :guilabel:`Closing Entry` again from the tax report." +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:117 +msgid "A period (month or quarter)." msgstr "" #: ../../content/applications/finance/accounting/reporting/tax_returns.rst:118 -msgid "After the tax report has been posted for a period, Odoo locks the period and prevents the creation of new journal entries involving VAT. Any corrections to customer invoices or vendor bills must then be recorded in the following period." +#: ../../content/applications/finance/accounting/reporting/year_end.rst:185 +msgid "A deadline date." msgstr "" -#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:124 -#: ../../content/applications/finance/accounting/taxes/avatax.rst:151 -msgid ":doc:`../get_started`" +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:119 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:186 +msgid "The related company and :ref:`branch(es) `, if applicable." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:120 +msgid "Action steps, such as :ref:`Review `, :ref:`Submit `, and :ref:`Pay `, which turn green when completed." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:123 +msgid "Action buttons: These are displayed as primary (purple) and secondary (grey) buttons to indicate their priority." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:125 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:190 +msgid "A :icon:`fa-ellipsis-v` :guilabel:`(vertical ellipsis)` menu for additional options." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:-1 +msgid "Tax return tool overview" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:131 +msgid "Before the tax return is reviewed, the number of :guilabel:`Pending` or :guilabel:`Passed` tax validation checks is displayed in red or green, respectively." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:133 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:195 +msgid "If the :guilabel:`Deadline` date has passed, it appears in red." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:136 +msgid "To export all tax returns from the selected period, click the :icon:`fa-cog` (:guilabel:`gear`) icon, then click :icon:`fa-upload` :guilabel:`Export All` to download the tax returns XLSX." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:142 +msgid "VAT report" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:144 +msgid "Each pending tax return (VAT report) follows these steps: :ref:`review `, :ref:`submit `, and :ref:`pay `." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:148 +msgid "To access a tax return, click the local VAT report button (e.g., :guilabel:`VAT Return (BE)` or :guilabel:`Tax Report (US)`, depending on the :doc:`fiscal localization <../../fiscal_localizations>`) or the :guilabel:`Generic Tax report` button on the tax return line in the :guilabel:`Tax Return` view." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:155 +msgid "Click the :icon:`fa-cog` (:guilabel:`gear`) icon and :guilabel:`Copy to Documents` to save the report to the :doc:`Documents <../../../productivity/documents>` app. Select the format to :guilabel:`Export to`, the :guilabel:`Documents Name`, the :guilabel:`Folder` to store it in, and add any :guilabel:`Tags`. Then click :guilabel:`Export`." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:160 +msgid "To create a new return, click :guilabel:`New`, select the relevant :guilabel:`Return Type`, and fill in the required :guilabel:`Dates`. Then, click :guilabel:`Generate Return`. The following returns can be generated:" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:164 +msgid ":guilabel:`Annual Closing: Corporate Tax`" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:165 +msgid ":guilabel:`VAT` (return)/:guilabel:`Tax`" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:166 +msgid ":guilabel:`VAT Listing` (Belgium-specific)" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:167 +msgid ":guilabel:`EC Sales List` (EU-specific)" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:168 +msgid ":guilabel:`Advance Payment` (Belgium-specific)" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:169 +msgid ":guilabel:`Intrastat` (EU-specific)" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:174 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:200 +msgid "Review" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:176 +msgid "To start the review of a tax return, click on the relevant tax return line:" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:178 +msgid "If all automatic tax validation checks have passed, click :guilabel:`Validate` to complete the :guilabel:`Review` step. The :ref:`Lock Tax Return ` date is automatically updated, and the closing journal entry is posted in the :guilabel:`Tax Returns` journal. The tax return can then be :ref:`submitted `." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:182 +msgid "If any automatic tax validation checks are pending, the :guilabel:`Tax Checks` view displays the following, depending on the :doc:`fiscal localization <../../fiscal_localizations>`:" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:185 +msgid ":guilabel:`Bank Matching`: This check is used to identify any missing bills; it is optional for VAT reports." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:187 +msgid ":guilabel:`Bill attachments`: Bills must have attached documents as proof in case of an audit." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:188 +msgid ":guilabel:`Company data`: Missing information (e.g., VAT number or country) can lead to errors in tax reports or exemptions." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:190 +msgid ":guilabel:`Draft entries`: Any draft invoices and bills within the corresponding period must be reviewed and posted, or assigned a different accounting date." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:192 +msgid ":guilabel:`No negative amount in VAT report`: Some countries only allow positive values in tax returns, as a negative amount could indicate misconfigurations." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:194 +msgid ":guilabel:`Taxes and countries matching`: Taxes applied on invoices and bills must match the customer’s country." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:197 +msgid "Each check card is either highlighted in green (Reviewed or Supervised), red (Anomaly) or grey (To review). If a check fails, there are two options:" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:200 +msgid "Click on the failed check's card to fix the issue." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:201 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:238 +msgid "Click :guilabel:`Anomaly` and select :guilabel:`Reviewed` or :guilabel:`Supervised` to pass the check without fixing the issue." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:204 +msgid "Once all checks have passed, click :guilabel:`Validate`. Then, depending on the :doc:`fiscal localization <../../fiscal_localizations>`, click :guilabel:`Lock` in the :guilabel:`Lock` window." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:207 +msgid "On validating the tax return, the :ref:`Lock Tax Return ` date is automatically updated, and the closing journal entry is posted in the :guilabel:`Tax Returns` journal." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:212 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:246 +msgid "To add customized checks, activate :ref:`developer mode `, and go to :menuselection:`Accounting --> Configuration --> Check`. Then, click :guilabel:`New` and complete the necessary fields." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:215 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:249 +msgid "All check status changes are logged in the chatter." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:218 +msgid "If the :guilabel:`Lock Tax Return` date is not locked before reviewing the tax return, the fiscal period is automatically locked on the same date as the accounting date of the closing journal entry. While this feature helps prevent certain fiscal errors, it is recommended to set the :ref:`Lock Tax Return date ` manually beforehand." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:224 +msgid "After the tax report for a period has been posted, that period is locked to prevent new VAT-related journal entries from being created. Corrections to customer invoices or vendor bills must be recorded in the following period." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:231 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:254 +msgid "Submit" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:233 +msgid "Once a tax return has completed the :ref:`Review ` step, proceed as follows:" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:236 +msgid "In the :guilabel:`Tax Return` view, click the local VAT report button (e.g., :guilabel:`VAT Return (BE)` or :guilabel:`Tax Report (US)`, depending on the :doc:`fiscal localization <../../fiscal_localizations>`) or the :guilabel:`Generic Tax report` button on the relevant tax return line to preview the tax return report." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:240 +msgid "Once the tax return report has been verified, go back to the :guilabel:`Tax Return` view and click :guilabel:`Submit`." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:242 +msgid "If a :guilabel:`Submission Instructions` pop-up window appears, follow the local :guilabel:`Instructions`, and click :guilabel:`Mark as Submitted` or :ref:`Mark Paid `." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:246 +msgid "The submitted tax return contains all the values tax authorities need, and the amount to be paid or refunded." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:250 +msgid "To display all posted closing journal entries, click the :guilabel:`Tax Returns` journal in the Accounting dashboard." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:252 +msgid "To display the tax return entry posted, click the :icon:`fa-ellipsis-v` :guilabel:`(vertical ellipsis)` icon and select :guilabel:`View Entry`. The following options are available if needed:" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:256 +msgid ":guilabel:`Reverse Entry`" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:257 +msgid ":guilabel:`Reset to Draft`: The :guilabel:`Lock Tax Return` date must be manually removed using a :ref:`lock date exception ` to reset a tax return entry to draft." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:264 +msgid "Pay" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:266 +msgid "Once a tax return is submitted, a :guilabel:`Payment` window appears if a tax payment is required. It displays all necessary payment details to complete the transaction, including a QR code for the banking app, if available for the country's :doc:`fiscal localization <../../fiscal_localizations>` package. There are three options:" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:271 +msgid "Click :guilabel:`Mark Paid` after completing the payment: the corresponding tax return line disappears from the :guilabel:`Tax Return` view." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:273 +msgid "Click :guilabel:`Send` to email all payment information. Once sent, the tax return completes the :guilabel:`Pay` step, and its corresponding line disappears from the :guilabel:`Tax Return` view." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:275 +msgid "Click :guilabel:`Discard`: the corresponding tax return line remains visible in the :guilabel:`Tax Return` view, indicating the amount due. Click the :icon:`fa-paperclip` :guilabel:`(paperclip)` icon to access the PDF and XLSX files of the submitted tax return." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:0 +msgid "view when tax return is submitted" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:285 +msgid "Advance tax payments" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:288 +msgid "Advance tax payments are specific to local :doc:`fiscal localizations <../../fiscal_localizations>` and the requirements of certain countries' tax systems." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:291 +msgid "In the :guilabel:`Tax Return` view, click :guilabel:`Pay` on the relevant advance tax payment line that needs to be processed." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:294 +msgid "In the :guilabel:`Advance Payment` window, follow the local recommendations, fill in the required local fields, and use the provided payment details to finalize the transaction. Two options are available:" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:298 +msgid "Click :guilabel:`Mark Paid` once the payment is processed: The corresponding advance tax payment line disappears from the :guilabel:`Tax Return` view." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:300 +msgid "Click :guilabel:`Send` to email all payment information. Once sent, the advance tax payment completes the :guilabel:`Pay` step, and its corresponding line disappears from the :guilabel:`Tax Return` view." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:303 +msgid "Click :guilabel:`Discard`: The corresponding advance tax payment line remains visible in the :guilabel:`Tax Return` view." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/tax_returns.rst:307 +msgid "To mark a tax payment that has already been completed, click the :icon:`fa-ellipsis-v` :guilabel:`(vertical ellipsis)` icon and select :guilabel:`Mark as Completed`." msgstr "" #: ../../content/applications/finance/accounting/reporting/year_end.rst:3 @@ -11331,7 +11514,7 @@ msgid "Year-end closing" msgstr "" #: ../../content/applications/finance/accounting/reporting/year_end.rst:5 -msgid "Year-end closing is vital for maintaining financial accuracy, complying with regulations, making informed decisions, and ensuring transparency in reporting." +msgid "Year-end closing is essential for maintaining financial accuracy, complying with regulations, making informed decisions, and ensuring transparency in reporting." msgstr "" #: ../../content/applications/finance/accounting/reporting/year_end.rst:9 @@ -11371,15 +11554,11 @@ msgid "Before closing a fiscal year, ensure that everything is accurate and up-t msgstr "" #: ../../content/applications/finance/accounting/reporting/year_end.rst:43 -msgid "Make sure all bank accounts are fully :doc:`reconciled <../bank/reconciliation>` up to year-end, and confirm that the ending book balances match the bank statement balances." +msgid "Make sure all bank accounts are fully :doc:`reconciled <../bank/reconciliation>` up to year-end and confirm that the ending book balances match the bank statement balances." msgstr "" #: ../../content/applications/finance/accounting/reporting/year_end.rst:45 -msgid "Verify that all :doc:`customer invoices <../customer_invoices>` have been created and confirmed and that there are no draft invoices." -msgstr "" - -#: ../../content/applications/finance/accounting/reporting/year_end.rst:47 -msgid "Confirm that all :doc:`vendor bills <../vendor_bills>` have been created and confirmed." +msgid "Confirm that all :doc:`customer invoices <../customer_invoices>` and :doc:`vendor bills <../vendor_bills>` have been created and all draft entries have been either confirmed or cancelled, as needed." msgstr "" #: ../../content/applications/finance/accounting/reporting/year_end.rst:48 @@ -11395,137 +11574,273 @@ msgid "Close all :ref:`suspense accounts `." msgstr "" #: ../../content/applications/finance/accounting/reporting/year_end.rst:51 +msgid "Ensure :doc:`loans <../bank/loans>` are properly registered for automatic amortization calculations." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:53 +msgid "Review overdue payables and receivables aged over 60 days, and assess whether a provision for uncertain liabilities or an allowance for doubtful accounts is required." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:55 msgid "Book all :doc:`depreciation <../vendor_bills/assets>` and :doc:`deferred revenue <../customer_invoices/deferred_revenues>` entries." msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:57 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:61 msgid "Closing a fiscal year" msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:59 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:63 msgid "Then, to close the fiscal year:" msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:61 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:65 msgid "Run a :ref:`tax report `, and verify that all tax information is correct." msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:63 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:67 msgid "Reconcile all accounts on the :ref:`balance sheet `:" msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:65 -msgid "Update the bank balances in Odoo according to the actual balances found on the bank statements." +#: ../../content/applications/finance/accounting/reporting/year_end.rst:69 +msgid "Update the bank balances in Odoo to reflect the actual balances as per the bank statements." msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:66 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:70 msgid "Reconcile all transactions in the cash and bank accounts by running the :ref:`aged receivables ` and :ref:`aged payables ` reports." msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:69 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:73 msgid "Audit all accounts, fully understanding all transactions and their nature, including :doc:`loans <../bank/loans>` and :doc:`fixed assets <../vendor_bills/assets>`." msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:71 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:75 msgid "Optionally, :ref:`match payments ` to validate any open vendor bills and customer invoices with their payments. While this step is optional, it could assist the year-end closing process if all outstanding payments and invoices are reconciled, potentially finding errors or mistakes in the system." msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:76 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:80 msgid "Next, the accountant likely verifies balance sheet items and book entries for:" msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:78 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:82 msgid "year-end manual adjustments," msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:79 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:83 msgid "work in progress," msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:80 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:84 msgid "depreciation journal entries," msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:81 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:85 msgid "loans," msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:82 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:86 msgid "tax adjustments," msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:83 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:87 msgid "etc." msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:85 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:89 msgid "During the year-end audit, the accountant may print paper copies of all balance sheet items (e.g., loans, bank accounts, prepayments, sales tax statements) to compare them against the balances recorded in Odoo." msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:90 -msgid "As part of this process, setting a :ref:`Lock Everything ` date to the last day (inclusive) of the preceding fiscal year is good practice. This ensures that journal entries with an accounting date on or before the lock date cannot be created or modified during the audit. Users with *administrator* access rights can still create and edit entries if an exception is configured." +#: ../../content/applications/finance/accounting/reporting/year_end.rst:94 +msgid "As part of this process, setting a :ref:`Lock Everything ` date to the last day (inclusive) of the preceding fiscal year is good practice. This ensures that journal entries with an accounting date on or before the lock date cannot be created or modified during the audit. Users with *administrator* access rights can still create and edit entries if an :ref:`exception is configured `." msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:99 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:104 msgid "Lock everything date" msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:101 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:106 msgid "Setting a lock date prevents modifications to any posted journal entries with an accounting date on or before the lock date. It also prevents posting new entries with an accounting date on or before the lock date. In such cases, the system automatically sets the accounting date to the day after the lock date." msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:106 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:111 msgid "To set a :guilabel:`Lock Everything` date, go to :menuselection:`Accounting --> Accounting --> Lock Dates`. In the :guilabel:`Lock Journal Entries` window, set the :guilabel:`Lock Everything` date and :guilabel:`Save`." msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:111 -msgid "Users with :guilabel:`Administrator` access rights to the Accounting app can create exceptions. To do so:" +#: ../../content/applications/finance/accounting/reporting/year_end.rst:115 +msgid "After setting the :guilabel:`Lock Everything` date, an :ref:`exception ` can be made if a modification is necessary." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:121 +msgid "Lock date exception" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:123 +msgid "Users with :ref:`Administrator ` access rights to the Accounting app can create exceptions. To do so:" msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:114 -msgid "After setting the :guilabel:`Lock Everything` date, reopen the :guilabel:`Lock Journal Entries` window and remove the :guilabel:`Lock Everything` date." +#: ../../content/applications/finance/accounting/reporting/year_end.rst:126 +msgid "After setting and saving a lock date, go to :menuselection:`Accounting --> Accounting --> Lock Dates`. In the :guilabel:`Lock Journal Entries` window, remove the :guilabel:`Lock Everything` date." msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:116 -msgid "In the :guilabel:`Exception` banner, choose if this exception should be set :guilabel:`for me` (the current user) or :guilabel:`for everyone` and how long it should last." +#: ../../content/applications/finance/accounting/reporting/year_end.rst:129 +msgid "In the :guilabel:`Exception` banner, choose if this exception should be set :guilabel:`for me` (the current user) or :guilabel:`for everyone`, and how long it should last." msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:118 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:131 msgid "A :guilabel:`Reason` for this exception can be added." msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:119 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:132 msgid "All of this information is logged in the chatter of the :doc:`company record `." msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:123 -msgid "To remove the :guilabel:`Lock Everything` date after it has been saved, configure the exception to apply :guilabel:`for everyone` and set the duration to :guilabel:`forever`." +#: ../../content/applications/finance/accounting/reporting/year_end.rst:136 +msgid "To remove a lock date after it has been saved, configure the exception to apply :guilabel:`for everyone` and set the duration to :guilabel:`forever`. This does not apply to the :guilabel:`Hard Lock` date, which is irreversible to ensure inalterability and to meet accounting requirements in certain countries." msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:129 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:144 msgid "Current year's earnings" msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:131 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:146 msgid "Odoo uses a unique account type called **current year's earnings** to display the difference between the **income** and **expense** accounts." msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:135 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:150 msgid "The chart of accounts can only contain one account of this type. By default, it is a 999999 account named :guilabel:`Undistributed Profits/Losses`." msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:138 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:153 msgid "To allocate the current year's earnings, create a new miscellaneous entry with a date set to the end of the fiscal year to book them to any equity account." msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:141 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:156 msgid "Then, verify whether the current year's earnings on the **balance sheet** correctly show a zero balance. If so, a :guilabel:`Hard Lock date` can be set to the last day of the fiscal year in :menuselection:`Accounting --> Accounting --> Lock Dates`." msgstr "" -#: ../../content/applications/finance/accounting/reporting/year_end.rst:146 +#: ../../content/applications/finance/accounting/reporting/year_end.rst:161 msgid "The :guilabel:`Hard Lock date` field is irreversible and is intended to ensure data inalterability required to comply with accounting regulations in certain countries. If such compliance is not applicable, setting this field may not be necessary. However, if required, the date should only be set once it is confirmed to be correct, as it **cannot be changed or overridden**, regardless of access rights." msgstr "" +#: ../../content/applications/finance/accounting/reporting/year_end.rst:170 +msgid "Annual closing" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:172 +msgid "To complete the fiscal year-end process and finalize the annual closing, go to the Accounting dashboard and click :guilabel:`Tax Returns` on the :guilabel:`Tax Returns` journal from the Accounting dashboard. Alternatively, go to :menuselection:`Accounting --> Accounting --> Tax Returns`." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:177 +msgid "This view displays a chronological list of all pending returns including :ref:`tax returns `, :ref:`advance payments ` (based on the :doc:`fiscal localization <../../fiscal_localizations>`), and annual closings. A pending :guilabel:`Annual Closing` follows two steps: :ref:`review ` and :ref:`submit `. The :guilabel:`Annual Closing` item includes:" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:184 +msgid "A period (year)." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:187 +msgid "Action steps, such as :ref:`Review ` and :ref:`Submit `, which turn green when completed." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:189 +msgid "Action buttons for key tasks." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:193 +msgid "Before the annual closing is reviewed, the number of :guilabel:`Pending` or :guilabel:`Passed` closing validation checks is displayed in red or green, respectively." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:202 +msgid "To start reviewing an annual closing, click the annual closing line. The annual closing checks view displays the following, depending on the :doc:`fiscal localization <../../fiscal_localizations>`:" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:205 +msgid ":guilabel:`Aged payables per partner`: Review payables without a partner." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:206 +msgid ":guilabel:`Aged receivables per partner`: Review receivables without a partner." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:207 +msgid ":guilabel:`Bank Reconciliation`: Reconcile all bank account transactions up to year-end." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:208 +msgid ":guilabel:`Deferred Entries`: Ensure start and end dates are correctly set on bills and invoices." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:210 +msgid ":guilabel:`Earnings Allocation`: After adjustments, transfer the undistributed profits/losses to an equity account." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:212 +msgid ":guilabel:`Fixed Assets`: Ensure assets are properly registered for automatic depreciation calculation." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:214 +msgid ":guilabel:`Loans`: Ensure loans are properly registered for automatic amortization calculations." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:215 +msgid ":guilabel:`Manual Adjustments`: Complete any necessary manual adjustments and internal checks." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:216 +msgid ":guilabel:`No draft entries`: Review and post draft invoices, bills, and entries in the period, or change their accounting date." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:218 +msgid ":guilabel:`Overdue payables`: Review overdue payables aged over 60 days and assess the need for an allowance for uncertain liabilities." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:220 +msgid ":guilabel:`Overdue receivables`: Review overdue receivables aged over 60 days and assess the need for an allowance for doubtful accounts or expected credit loss provision, as per IFRS 9 guidelines." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:223 +msgid ":guilabel:`Total Receivables`: Verify that the total aged receivables equals the customer account balance." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:225 +msgid ":guilabel:`Total payables`: Verify that the total aged payables equals the vendor account balance." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:228 +msgid "Some of the checks are performed automatically, while others serve as reminders to review essential tasks. Each check card is either labeled as:" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:231 +msgid ":guilabel:`Reviewed` (highlighted in green): The check has passed." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:232 +msgid ":guilabel:`To review` (highlighted in grey): Action is required before the check can be manually marked as :guilabel:`Reviewed` or :guilabel:`Supervised`." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:234 +msgid ":guilabel:`Anomaly` (highlighted in red): The automatic check detects an issue. There are two options:" +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:237 +msgid "Click the failed check's card to fix the issue." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:241 +msgid "Once all closing validation checks have passed, either labeled as :guilabel:`Reviewed` or :guilabel:`Supervised`, click :guilabel:`Validate` to complete the :guilabel:`Review` step. The annual closing can then be :ref:`submitted `." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:256 +msgid "Once a tax return has completed the :ref:`Review ` step, click :guilabel:`Submit`." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:259 +msgid "If a :guilabel:`Submission Instructions` pop-up window appears, depending on the :doc:`fiscal localization <../../fiscal_localizations>`, follow the local :guilabel:`Instructions`, and click :guilabel:`Mark as Submitted`." +msgstr "" + +#: ../../content/applications/finance/accounting/reporting/year_end.rst:264 +msgid "To review checks before submitting the annual closing, click the :icon:`fa-ellipsis-v` :guilabel:`(vertical ellipsis)` icon on the annual closing line and select :guilabel:`Reset`." +msgstr "" + #: ../../content/applications/finance/accounting/taxes.rst:7 msgid "There are numerous types of **taxes**, and their application varies greatly, depending mostly on your company's localization. To make sure they are recorded with accuracy, Odoo's tax engine supports all kinds of uses and computations." msgstr "" @@ -12112,89 +12427,63 @@ msgstr "" msgid "but we want to sell it at 10€, tax included, in our shops or eCommerce website" msgstr "" -#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:85 -#: ../../content/applications/finance/fiscal_localizations/ecuador.rst:782 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1458 -msgid "eCommerce" -msgstr "" - -#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:87 -msgid "If you only use B2C or B2B prices on your website, simply select the appropriate setting in the **Website** app settings." -msgstr "" - -#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:90 -msgid "If you have both B2B and B2C prices on a single website, please follow these instructions:" -msgstr "" - -#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:92 -msgid "Activate the :ref:`developer mode ` and go to :menuselection:`General Settings --> Users & Companies --> Groups`." -msgstr "" - -#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:94 -msgid "Open either `Technical / Tax display B2B` or `Technical / Tax display B2C`." -msgstr "" - -#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:95 -msgid "Under the :guilabel:`Users` tab, add the users requiring access to the price type. Add B2C users in the B2C group and B2B users in the B2B group." -msgstr "" - -#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:99 +#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:83 msgid "Setting your products" msgstr "" -#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:101 +#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:85 msgid "Your company must be configured with tax excluded by default. This is usually the default configuration, but you can check your **Default Sale Tax** from the menu :menuselection:`Configuration --> Settings` of the Accounting application." msgstr "" -#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:108 +#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:92 msgid "Once done, you can create a **B2C** pricelist. You can activate the pricelist feature per customer from the menu: :menuselection:`Configuration --> Settings` of the Sale application. Choose the option **different prices per customer segment**." msgstr "" -#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:112 +#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:96 msgid "Once done, create a B2C pricelist from the menu :menuselection:`Configuration --> Pricelists`. It's also good to rename the default pricelist into B2B to avoid confusion." msgstr "" -#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:115 +#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:99 msgid "Then, create a product at 8.26€, with a tax of 21% (defined as tax not included in price) and set a price on this product for B2C customers at 10€, from the :menuselection:`Sales --> Products` menu of the Sales application:" msgstr "" -#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:123 +#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:107 msgid "Setting the B2C fiscal position" msgstr "" -#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:125 +#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:109 msgid "From the accounting application, create a B2C fiscal position from this menu: :menuselection:`Configuration --> Fiscal Positions`. This fiscal position should map the VAT 21% (tax excluded of price) with a VAT 21% (tax included in price)" msgstr "" -#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:133 +#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:117 msgid "Test by creating a quotation" msgstr "" -#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:135 +#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:119 msgid "Create a quotation from the Sale application, using the :menuselection:`Sales --> Quotations` menu. You should have the following result: 8.26€ + 1.73€ = 9.99€." msgstr "" -#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:141 +#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:125 msgid "Then, create a quotation but **change the pricelist to B2C and the fiscal position to B2C** on the quotation, before adding your product. You should have the expected result, which is a total price of 10€ for the customer: 8.26€ + 1.74€ = 10.00€." msgstr "" -#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:148 +#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:132 msgid "This is the expected behavior for a customer of your shop." msgstr "" -#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:151 +#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:135 msgid "Avoid changing every sale order" msgstr "" -#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:153 +#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:137 msgid "If you negotiate a contract with a customer, whether you negotiate tax included or tax excluded, you can set the pricelist and the fiscal position on the customer form so that it will be applied automatically at every sale of this customer." msgstr "" -#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:157 +#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:141 msgid "The pricelist is in the **Sales & Purchases** tab of the customer form, and the fiscal position is in the accounting tab." msgstr "" -#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:160 +#: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:144 msgid "Note that this is error prone: if you set a fiscal position with tax included in prices but use a pricelist that is not included, you might have wrong prices calculated for you. That's why we usually recommend companies to only work with one price reference." msgstr "" @@ -12384,9 +12673,10 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/egypt.rst:16 #: ../../content/applications/finance/fiscal_localizations/france.rst:15 #: ../../content/applications/finance/fiscal_localizations/france.rst:329 -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:73 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:74 #: ../../content/applications/finance/fiscal_localizations/hong_kong.rst:14 #: ../../content/applications/finance/fiscal_localizations/india.rst:16 +#: ../../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 @@ -12400,7 +12690,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/thailand.rst:14 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:16 #: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:16 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:62 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:61 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:58 #: ../../content/applications/finance/fiscal_localizations/vietnam.rst:17 msgid "Name" @@ -12417,9 +12707,10 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:44 #: ../../content/applications/finance/fiscal_localizations/egypt.rst:17 #: ../../content/applications/finance/fiscal_localizations/france.rst:16 -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:74 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:75 #: ../../content/applications/finance/fiscal_localizations/hong_kong.rst:15 #: ../../content/applications/finance/fiscal_localizations/india.rst:17 +#: ../../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 @@ -12433,7 +12724,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/thailand.rst:15 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:17 #: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:17 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:63 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:62 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:59 #: ../../content/applications/finance/fiscal_localizations/vietnam.rst:18 msgid "Technical name" @@ -12444,7 +12735,7 @@ msgid ":guilabel:`Avatax`" msgstr "" #: ../../content/applications/finance/accounting/taxes/avatax.rst:168 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:91 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:90 msgid "`account_avatax`" msgstr "" @@ -12596,6 +12887,11 @@ msgstr "" msgid "Configure AvaTax settings" msgstr "" +#: ../../content/applications/finance/accounting/taxes/avatax.rst:237 +#: ../../content/applications/finance/accounting/vendor_bills/assets.rst:32 +msgid "Prerequisites" +msgstr "" + #: ../../content/applications/finance/accounting/taxes/avatax.rst:239 msgid "First, select the :guilabel:`Environment` in which the company wishes to use *AvaTax* in. It can either be :guilabel:`Sandbox` or :guilabel:`Production`." msgstr "" @@ -14710,6 +15006,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:430 #: ../../content/applications/finance/fiscal_localizations/france.rst:81 #: ../../content/applications/finance/fiscal_localizations/germany.rst:6 +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:94 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:420 #: ../../content/applications/finance/fiscal_localizations/new_zealand.rst:181 msgid "Accounting" @@ -15087,230 +15384,789 @@ msgstr "" msgid "Estimated CO₂ reductions do not immediately lower your carbon footprint. The real impact shows only when these reductions are reflected in your operations." msgstr "" -#: ../../content/applications/finance/expenses.rst:7 -msgid "Odoo **Expenses** streamlines the management of expenses. After an employee submits their expenses in Odoo, they are reviewed by management and accounting teams. Once approved, payments can then be processed, and disbursed back to the employee for reimbursement." +#: ../../content/applications/finance/expenses/approve_expenses.rst:3 +msgid "Approve expenses" msgstr "" -#: ../../content/applications/finance/expenses.rst:12 -msgid "`Odoo Expenses: product page `_" +#: ../../content/applications/finance/expenses/approve_expenses.rst:5 +msgid "In Odoo, most users cannot approve expense reports; only users with the necessary access rights or permissions can. This means that a user **must** have at least *Team Approver* rights for the **Expenses** app. Employees with the necessary rights can review expense reports, approve or refuse them, and provide feedback with an integrated :ref:`Refuse Expense ` communication tool." msgstr "" -#: ../../content/applications/finance/expenses.rst:15 -msgid "Set expense categories" +#: ../../content/applications/finance/expenses/approve_expenses.rst:11 +msgid "Please refer to the :doc:`access rights documentation ` to learn more about managing users and their access rights." msgstr "" -#: ../../content/applications/finance/expenses.rst:17 -msgid "The first step to track expenses is to configure the different types of expenses for the company (managed as *expense categories* in Odoo). Each category can be as specific or generalized as needed. Go to :menuselection:`Expenses app --> Configuration --> Expense Categories` to view the current expensable categories in a default list view." +#: ../../content/applications/finance/expenses/approve_expenses.rst:15 +msgid "View expense reports" msgstr "" -#: ../../content/applications/finance/expenses.rst:-1 -#: ../../content/applications/finance/expenses.rst:-1 -msgid "Set expense costs on products." +#: ../../content/applications/finance/expenses/approve_expenses.rst:17 +msgid "Users who are able to approve expense reports (typically managers) have an :guilabel:`Expense Reports` main navigation button at the top of the **Expenses** app. This allows managers to view all expense reports they have access rights for. Navigate to :menuselection:`Expenses app --> Expense Reports`, to view the :guilabel:`All Reports` dashboard." +msgstr "" + +#: ../../content/applications/finance/expenses/approve_expenses.rst:22 +msgid "A list of all expense reports with a status of either :guilabel:`To Submit`, :guilabel:`Submitted`, :guilabel:`Approved`, :guilabel:`Posted`, or :guilabel:`Done` appears. Expense reports with a status of :guilabel:`Refused` are hidden, by default." +msgstr "" + +#: ../../content/applications/finance/expenses/approve_expenses.rst:-1 +msgid "Reports to validate are found on the Reports to Approve page." msgstr "" -#: ../../content/applications/finance/expenses.rst:26 -msgid "To create a new expense category, click :guilabel:`New`. A product form will appear, with the description field labeled :guilabel:`Product Name`." +#: ../../content/applications/finance/expenses/approve_expenses.rst:30 +msgid "Approve expense reports" msgstr "" -#: ../../content/applications/finance/expenses.rst:30 -msgid "Expense categories are managed like products in Odoo. The expense category form follows the standard product form in Odoo, and the information entered is similar. Expense products will be referred to as expense categories throughout this document since the main menu refers to these as :guilabel:`Expense Categories`." +#: ../../content/applications/finance/expenses/approve_expenses.rst:32 +msgid "Expense reports can be approved in two ways: :ref:`individually ` or :ref:`in bulk `." msgstr "" -#: ../../content/applications/finance/expenses.rst:35 -msgid "Only two fields are required, the :guilabel:`Product Name` and the :guilabel:`Unit of Measure`. Enter the :guilabel:`Product Name` in the field, and select the :guilabel:`Unit of Measure` from the drop-down menu (most products will be set to :guilabel:`Units`)." +#: ../../content/applications/finance/expenses/approve_expenses.rst:36 +msgid "Only reports with a status of :guilabel:`Submitted` can be approved." msgstr "" -#: ../../content/applications/finance/expenses.rst:40 -msgid "The *Sales* app is where specification on the units of measure are created and edited (e.g. units, miles, nights, etc.). Go to :menuselection:`Sales app --> Configuration --> Settings` and ensure `Units of Measure` is enabled in the `Product Catalog` section. Click on the :guilabel:`Units of Measure` internal link to :doc:`view, create, and edit the units of measure <../inventory_and_mrp/inventory/product_management/configure/uom>`." +#: ../../content/applications/finance/expenses/approve_expenses.rst:38 +msgid "It is recommended to display only :guilabel:`Submitted` reports by ticking the checkbox beside the :guilabel:`Submitted` filter, in the left column, under the :guilabel:`Status` section." msgstr "" -#: ../../content/applications/finance/expenses.rst:50 -msgid "The :guilabel:`Cost` field on the product form is populated with a value of `0.00` by default. When a specific expense should always be reimbursed for a particular price, enter that amount in the :guilabel:`Cost` field. Otherwise, leave the :guilabel:`Cost` set to `0.00`, and employees will report the actual cost when submitting an expense report." +#: ../../content/applications/finance/expenses/approve_expenses.rst:41 +msgid "If a report is **not** able to be approved, the :guilabel:`Approve Report` button **does not** appear on the :guilabel:`All Reports` page." msgstr "" -#: ../../content/applications/finance/expenses.rst:56 -msgid "The :guilabel:`Cost` field is always visible on the expense category form, but the :guilabel:`Sales Price` field is *only* visible if the :guilabel:`Sales Price` is selected under the :guilabel:`Re-Invoice Expenses` section. Otherwise, the :guilabel:`Sales Price` field is hidden." +#: ../../content/applications/finance/expenses/approve_expenses.rst:47 +msgid "Approve individual reports" msgstr "" -#: ../../content/applications/finance/expenses.rst:62 -msgid "Here are some examples for when to set a specific :guilabel:`Cost` on a product vs. leaving the :guilabel:`Cost` at `0.00`:" +#: ../../content/applications/finance/expenses/approve_expenses.rst:49 +msgid "To approve an individual report, navigate to :menuselection:`Expenses app --> Expense Reports`, and click on an individual report to view the detailed report form." +msgstr "" + +#: ../../content/applications/finance/expenses/approve_expenses.rst:52 +msgid "From here, several options are presented: :guilabel:`Approve`, :guilabel:`Refuse`, and :guilabel:`Reset to draft`. Click :guilabel:`Approve` to approve the report." +msgstr "" + +#: ../../content/applications/finance/expenses/approve_expenses.rst:0 +msgid "An individual expense report that can be approved or refused." +msgstr "" + +#: ../../content/applications/finance/expenses/approve_expenses.rst:61 +msgid "Approve multiple reports" +msgstr "" + +#: ../../content/applications/finance/expenses/approve_expenses.rst:63 +msgid "To approve multiple expense reports at once, first navigate to :menuselection:`Expenses app --> Expense Reports` to view a list of expense reports. Next, select the reports to approve by ticking the checkbox next to each report being approved, or tick the checkbox next to the :guilabel:`Employee` column title to select all the reports in the list." +msgstr "" + +#: ../../content/applications/finance/expenses/approve_expenses.rst:68 +msgid "Next, click the :guilabel:`Approve Report` button." +msgstr "" + +#: ../../content/applications/finance/expenses/approve_expenses.rst:0 +msgid "Select multiple expense reports at once." +msgstr "" + +#: ../../content/applications/finance/expenses/approve_expenses.rst:74 +msgid "Team managers can view all the expense reports for their team members only. While on the :guilabel:`All Reports` page, click the :icon:`fa-caret-down` :guilabel:`(down arrow)` to the right of the search bar, then click :guilabel:`My Team` in the :icon:`fa-filter` :guilabel:`Filters` section. This presents all the reports for only the manager's team." +msgstr "" + +#: ../../content/applications/finance/expenses/approve_expenses.rst:82 +msgid "Refuse expense reports" +msgstr "" + +#: ../../content/applications/finance/expenses/approve_expenses.rst:84 +msgid "Expense reports can **only** be refused on the individual expense report, and **not** from the :guilabel:`All Reports` dashboard. To open an individual expense report, navigate to :menuselection:`Expenses app --> Expense Reports`, then click on an individual expense report to view the detailed expense report form." +msgstr "" + +#: ../../content/applications/finance/expenses/approve_expenses.rst:89 +msgid "If more information is needed, such as a missing receipt, communicate any necessary information requests in the *chatter* of the report form. On the individual expense report, click either :guilabel:`Send message` or :guilabel:`Log note` to open a message text box." +msgstr "" + +#: ../../content/applications/finance/expenses/approve_expenses.rst:93 +msgid "Type in a message, tagging the proper people, and post it to the *chatter* by clicking :guilabel:`Send` or :guilabel:`Log`, depending on the method of communication. The message is posted in the chatter, and the tagged people are notified via email." +msgstr "" + +#: ../../content/applications/finance/expenses/approve_expenses.rst:98 +msgid "The only people that can be tagged in a message are *followers* of the specific report. To see who is a follower, click the :icon:`fa-user-o` :guilabel:`(Show Followers)` icon to display the followers of the expense report." +msgstr "" + +#: ../../content/applications/finance/expenses/approve_expenses.rst:0 +#: ../../content/applications/finance/expenses/approve_expenses.rst:-1 +msgid "Send messages in the chatter." +msgstr "" + +#: ../../content/applications/finance/expenses/approve_expenses.rst:105 +msgid "To refuse an expense report, click :guilabel:`Refuse`, and a :guilabel:`Refuse Expense` pop-up window loads. Enter a brief explanation for the refusal on the :guilabel:`Reason` line, then click :guilabel:`Refuse`." +msgstr "" + +#: ../../content/applications/finance/expenses/approve_expenses.rst:112 +msgid "Once the expense report is refused, the status changes to :guilabel:`Refused`, and the only button that appears is :guilabel:`Reset to Draft`." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:3 +msgid "Expense cards" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:5 +msgid "Odoo offers physical and virtual expense cards, allowing for better expense tracking and management. Using expense cards allows for real time expense management, creating expense records as soon as an expense transaction occurs, allowing management greater visibility of expense costs as they are incurred." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:10 +msgid "The elimination of the need to :doc:`actively create expense records ` allows for a more streamlined expense workflow, with records automatically created as purchases are made." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:13 +msgid "To use expense cards, first a :ref:`card is configured `, then it is :ref:`activated `. Before employees can make purchases with their expense card, a :ref:`Stripe account must be created ` and configured, then :ref:`funds must be added ` to the company's Stripe account. Once there is money available in the account (this typically takes 2-3 business days for the transfer to Stripe), employees can use their expense cards, and the money is pulled from the company's Stripe account." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:21 +msgid "To create and use expense cards, both the **Accounting** and **Invoicing** apps **must** be :ref:`installed `." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:25 +msgid "Expense cards act like pre-paid debit cards, as they can **only** be used with a connected Stripe account, and **only** if funds are added to that account, to be drawn from." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:29 +#: ../../content/applications/finance/payment_providers.rst:404 +msgid "Availability" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:31 +msgid "Expense cards are currently available for the following countries:" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:34 +#: ../../content/applications/finance/fiscal_localizations/austria.rst:3 +msgid "Austria" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:34 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:3 +msgid "Belgium" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:34 +#: ../../content/applications/finance/fiscal_localizations.rst:70 +msgid "Croatia" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:34 +#: ../../content/applications/finance/fiscal_localizations.rst:71 +msgid "Cyprus" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:36 +#: ../../content/applications/finance/fiscal_localizations.rst:79 +msgid "Estonia" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:36 +#: ../../content/applications/finance/fiscal_localizations.rst:81 +msgid "Finland" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:36 +#: ../../content/applications/finance/fiscal_localizations/france.rst:3 +msgid "France" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:36 +#: ../../content/applications/finance/fiscal_localizations/germany.rst:3 +msgid "Germany" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:38 +#: ../../content/applications/finance/fiscal_localizations.rst:86 +msgid "Greece" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:38 +msgid "Ireland" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:38 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:3 +msgid "Italy" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:38 +#: ../../content/applications/finance/fiscal_localizations.rst:101 +msgid "Latvia" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:40 +#: ../../content/applications/finance/fiscal_localizations.rst:102 +msgid "Lithuania" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:40 +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:3 +msgid "Luxembourg" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:40 +#: ../../content/applications/finance/fiscal_localizations.rst:105 +msgid "Malta" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:40 +#: ../../content/applications/finance/fiscal_localizations/netherlands.rst:3 +msgid "Netherlands" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:42 +#: ../../content/applications/finance/fiscal_localizations.rst:122 +msgid "Portugal" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:42 +#: ../../content/applications/finance/fiscal_localizations.rst:130 +msgid "Slovakia" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:42 +#: ../../content/applications/finance/fiscal_localizations.rst:131 +msgid "Slovenia" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:42 +#: ../../content/applications/finance/fiscal_localizations/spain.rst:3 +msgid "Spain" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:45 +msgid "Only companies located in one of these countries are able to create and use expense cards." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:48 +msgid "Fees" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:50 +msgid "Odoo covers **all fees** associated with creating virtual and physical cards." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:57 +msgid "Two settings must be configured to use expense cards. Navigate to :menuselection:`Expenses app --> Configuration --> Settings`. Tick the box next to :guilabel:`Expense Card`, then click :guilabel:`Save`. The :guilabel:`Settings` page reloads, and two fields now appear beneath the :guilabel:`Expense Card` option." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:62 +msgid "A :guilabel:`Journal` field with :guilabel:`Stripe Issuing` appears, populating the field. This is the default journal, and it is **not** recommended to alter this unless instructed by the accounting department." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:66 +msgid "Next, click the text link :guilabel:`terms and conditions` and an :guilabel:`Expense Cards Terms and Conditions` pop-up window loads, with all the details of the agreement. After this has been read, click :guilabel:`Close`, then tick the checkbox next to :guilabel:`I confirm agreeing to the terms and conditions` to accept the terms, then click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:72 +msgid "The terms and conditions **must** be agreed to use expense cards." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:74 +msgid "After agreeing to the terms and conditions, :ref:`create a Stripe connected account `." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:80 +msgid "Create Stripe connected account" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:82 +msgid "To create a Stripe connected account, open the **Expenses** app, and ensure the :guilabel:`Expense Card` option is enabled. Next, click :icon:`oi-arrow-right` :guilabel:`Connect` to create a new Stripe Issuing connect account." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:86 +msgid "Fill in the KYC questionnaire provided by Stripe. Stripe takes +/-24 hours to approve or refuse account creation requests." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:89 +msgid "A green :guilabel:`Verified` tag now appears next to :icon:`oi-arrow-left` :guilabel:`Refresh`, indicating the account is properly configured." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:92 +msgid "Once the account is verified, the company must :ref:`add funds ` to their Stripe balance." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:98 +msgid "Add funds to Stripe account" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:100 +msgid "For employees to use their expense cards, funds must be available in the company's Stripe account, to make purchases against. To add funds to the company's Stripe account, open the **Accounting** app. On the :guilabel:`Stripe Issuing` Kanban card, click :guilabel:`Top-up`, and a :guilabel:`Top-up` pop-up window loads." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:105 +msgid "Enter the amount being transferred into the account in the :guilabel:`Amount` field. The :guilabel:`IBAN` and :guilabel:`BIC` fields are populated according to the Stripe configuration and cannot be changed. When configured, click :guilabel:`Topup`, and the transfer is initiated." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:110 +msgid "The user wires money to the IBAN shown using a SEPA Credit Transfer (for the EURO Zone). The Stripe issuing partner bank is `Circle Bank`." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:114 +msgid "It typically takes 2-3 business days for transfers to be processed. Funds are **not** available until the transfer is complete." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:120 +msgid "Configure expense cards" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:122 +msgid "To create and configure a new expense card, click :menuselection:`Cards` in the main **Expenses** app menu to view the :guilabel:`Cards` dashboard. Click :guilabel:`New` and a blank :guilabel:`Cards` form loads. Enter the following information on the form:" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:126 +msgid ":guilabel:`Card Name`: The first line on the card form is blank, and displays `Draft`. Enter a name for the card in this field. This does **not** need to be a person's name, it can be something descriptive to explain the use of the card." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:131 +msgid "An employee is going on a week-long business trip to Berlin to visit many clients. The employee needs to pay for meals, transportation, and other business-related expenses. Since this is a short trip, a virtual card is created to capture all the expenses, with the name `Business Trip - Berlin`." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:136 +msgid "The marketing department pays for many expenses throughout the year, from email marketing services, venue rentals for events, promotional merchandise, etc. Since the expenses do not have an end date, and it is used for an entire department, a physical card is ordered with the name `Marketing`." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:141 +msgid ":guilabel:`Cardholder`: Select the person using the card from the drop-down menu. Once selected, the person's name populates the :guilabel:`Draft` field, above :guilabel:`Cardholder`." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:143 +msgid ":guilabel:`Update info`: Next to the cardholder's name, click :guilabel:`Update info` and a :guilabel:`Cardholder Configuration` pop-up window loads. Update the cardholder's name, birthday, phone number, email, and physical address. All the requested information **must** be populated, as it is used to create the expense card with Stripe, and to verify the cardholder's identity, when needed. If any information is missing from this form, the card **cannot** be created, and an error appears when creating or ordering the card." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:151 +msgid "The phone number listed is used for two-factor authentication. The phone number can be changed in the future. When changing the phone number, an alert is sent to the original phone number, notifying them of the change." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:155 +msgid ":guilabel:`Type`: Click the radio button next to the desired *type* of expense card. Options are:" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:157 +msgid ":guilabel:`Physical`: A physical card is printed and mailed out to the employee. If selected, a :guilabel:`Delivery Address` field appears. Using the drop-down menu, select the employee or company address the card is mailed to." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:160 +msgid ":guilabel:`Virtual`: Virtual cards are available instantaneously once the card configuration is completed and the card is activated." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:163 +msgid ":guilabel:`Company`: Select the company the expenses are associated with using the drop-down menu. Each card must be associated with a single company, and are **not** available for use between all companies or branches in the database. Ensure the selected company has its own Stripe Connect account configured, or the expense cards will not work." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:167 +msgid ":guilabel:`Stripe Journal`: :guilabel:`Stripe Issuing` populates this field by default, and cannot be modified." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:170 +msgid "Next, configure the following fields in the :guilabel:`Spending Policy` tab of the card form:" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:172 +msgid ":guilabel:`Countries`: Using the drop-down menu, select the countries the card is able to be used in. The company's country location populates this field, by default. All other countries the employee may travel to or purchase expensable items from, should be included in this list." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:175 +msgid ":guilabel:`Categories`: If the expense card is limited to purchase items within a specific *category*, select them using the drop-down menu. If this field is left blank, the card may be used for *any* expense category." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:179 +msgid "Odoo is able to categorize transactions based on the :abbr:`MCC (Merchant Category Code)` provided by the card network provider (such as Mastercard). Every merchant has a corresponding :abbr:`MCC (Merchant Category Code)` that identifies their business and product types. When a Stripe-issued card is used, the :abbr:`MCC (Merchant Category Code)` is sent with the transaction, allowing Stripe to approve or block it based on the card's configuration." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:186 +msgid "A company issues an expense card that is only authorized for airline, train, and taxi travel expenses." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:189 +msgid "To configure this, click into the :guilabel:`Category` field, and click :guilabel:`Search more...` at the bottom. In the :guilabel:`Search: Categories` pop-up window, click into the search bar and click :guilabel:`Transportation services` in the :icon:`fa-filter` :guilabel:`Filters` column." msgstr "" -#: ../../content/applications/finance/expenses.rst:65 -msgid "**Meals**: set the :guilabel:`Cost` to `0.00`. When an employee logs an expense for a meal, they enter the actual amount of the bill and will be reimbursed for that amount. An expense for a meal costing $95.23 would equal a reimbursement for $95.23." +#: ../../content/applications/finance/expenses/expense_cards.rst:194 +msgid "Next, tick the checkboxes next to the desired transportation categories. In this example, only :guilabel:`Railroads`, :guilabel:`Passenger Railways`, :guilabel:`Taxicabs Limousines`, and :guilabel:`Airlines Air Carriers` are selected." msgstr "" -#: ../../content/applications/finance/expenses.rst:68 -msgid "**Mileage**: set the :guilabel:`Cost` to `0.30`. When an employee logs an expense for \"mileage\", they enter the number of miles driven in the :guilabel:`Quantity` field, and are reimbursed 0.30 per mile they entered. An expense for 100 miles would equal a reimbursement for $30.00." +#: ../../content/applications/finance/expenses/expense_cards.rst:198 +msgid "Click :guilabel:`Select` and the selected transportation categories now populate the :guilabel:`Categories` field." msgstr "" -#: ../../content/applications/finance/expenses.rst:72 -msgid "**Monthly Parking**: set the :guilabel:`Cost` to `75.00`. When an employee logs an expense for \"monthly parking\", the reimbursement would be for $75.00." +#: ../../content/applications/finance/expenses/expense_cards.rst:201 +msgid ":guilabel:`Limit`: Configure the two spending limits for the card. The first configuration sets the total expense amount allowed during a specific time period. Using the drop-down menu after the word :guilabel:`per`, select the time period the limit applies to. The available options are: :guilabel:`Day`, :guilabel:`Week`, :guilabel:`Month`, :guilabel:`Year`, or :guilabel:`All Time`. Next, enter the maximum amount allowed for the selected time period." msgstr "" -#: ../../content/applications/finance/expenses.rst:74 -msgid "**Expenses**: set the :guilabel:`Cost` to `0.00`. When an employee logs an expense that is not a meal, mileage, or monthly parking, they use the generic :guilabel:`Expenses` product. An expense for a laptop costing $350.00 would be logged as an :guilabel:`Expenses` product, and the reimbursement would be for $350.00." +#: ../../content/applications/finance/expenses/expense_cards.rst:207 +msgid "Next, set the *per transaction* limit. Enter the maximum amount that can be charged on the expense card in a single transaction in the field." msgstr "" -#: ../../content/applications/finance/expenses.rst:79 -msgid "Select an :guilabel:`Expense Account` if using the Odoo *Accounting* app. It is recommended to check with the accounting department to determine the correct account to reference in this field as it will affect reports." +#: ../../content/applications/finance/expenses/expense_cards.rst:211 +msgid "A company allows employees to purchase airline tickets that are less than $1,000.00 total. Additionally, there is a monthly cap of $3,000.00 for all expenses." msgstr "" -#: ../../content/applications/finance/expenses.rst:83 -msgid "Set a tax on each product in the :guilabel:`Vendor Taxes` and :guilabel:`Customer Taxes` fields, if applicable. It is considered good practice to use a tax that is configured with :ref:`Tax Included in Price `. Taxes will be automatically configured if this is set." +#: ../../content/applications/finance/expenses/expense_cards.rst:214 +msgid "The company would configure the limit as follows: `3,000.00` per :guilabel:`Month` and `1,000.00` per transaction." msgstr "" -#: ../../content/applications/finance/expenses.rst:88 -msgid ":doc:`expenses/log_expenses`" +#: ../../content/applications/finance/expenses/expense_cards.rst:218 +msgid "Card limits can be modified at any point. Once modified, they immediately go into effect." msgstr "" -#: ../../content/applications/finance/expenses.rst:89 -msgid ":doc:`expenses/expense_reports`" +#: ../../content/applications/finance/expenses/expense_cards.rst:221 +msgid "All expense cards pull payments from a single Stripe account. It is recommended to set card limits to avoid large charges or transactions that may prematurely deplete the expense Stripe account." msgstr "" -#: ../../content/applications/finance/expenses.rst:90 -msgid ":doc:`expenses/approve_expenses`" +#: ../../content/applications/finance/expenses/expense_cards.rst:-1 +msgid "An expense card form filled out for transportation and food only." msgstr "" -#: ../../content/applications/finance/expenses.rst:91 -msgid ":doc:`expenses/post_expenses`" +#: ../../content/applications/finance/expenses/expense_cards.rst:231 +msgid "Activate expense cards" msgstr "" -#: ../../content/applications/finance/expenses.rst:92 -msgid ":doc:`expenses/reimburse`" +#: ../../content/applications/finance/expenses/expense_cards.rst:233 +msgid "Once an expense card is configured, the next step is to activate the cards. First, navigate to :menuselection:`Expenses app --> Cards`, and the :guilabel:`Cards` dashboard loads, displaying all expense cards in a Kanban view." msgstr "" -#: ../../content/applications/finance/expenses.rst:93 -msgid ":doc:`expenses/reinvoice_expenses`" +#: ../../content/applications/finance/expenses/expense_cards.rst:237 +msgid "All cards display their status on a banner in the upper-right corner of each card. Statuses are either:" msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:3 -msgid "Approve expenses" +#: ../../content/applications/finance/expenses/expense_cards.rst:240 +msgid ":guilabel:`Draft`: The card form is filled out, but the card has not been requested or activated." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:5 -msgid "In Odoo, not just anyone can approve expense reports, only users with the necessary rights (or permissions) can. This means that a user **must** have at least *Team Approver* rights for the *Expenses* app. Employees with the necessary rights can review expense reports, approve or reject them, and provide feedback thanks to the integrated communication tool." +#: ../../content/applications/finance/expenses/expense_cards.rst:241 +msgid ":guilabel:`Pending`: A physical card has been ordered, but not activated." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:10 -msgid "Please refer to the :doc:`access rights documentation ` to learn more about managing users and their access rights." +#: ../../content/applications/finance/expenses/expense_cards.rst:242 +msgid ":guilabel:`Active`: The card is able to be used. This status does **not** display a status banner on the card." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:14 -msgid "View expense reports" +#: ../../content/applications/finance/expenses/expense_cards.rst:244 +msgid ":guilabel:`Paused`: A card has been put *on hold* and no transactions can be processed with this status." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:16 -msgid "Users who are able to approve expense reports, typically managers, can easily view all expense reports they have access rights to. Go to :menuselection:`Expenses app --> Expense Reports`, to view the :guilabel:`All Reports` dashboard." +#: ../../content/applications/finance/expenses/expense_cards.rst:246 +msgid ":guilabel:`Blocked`: The physical or virtual card is *cancelled* and cannot be used." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:20 -msgid "A list of all expense reports with a status of either :guilabel:`To Submit`, :guilabel:`Submitted`, :guilabel:`Approved`, :guilabel:`Posted`, or :guilabel:`Done` appears. Expense reports with a status of :guilabel:`Refused` are hidden, by default." +#: ../../content/applications/finance/expenses/expense_cards.rst:248 +msgid "Click on a card to activate, and the card form loads. Ensure all the fields are :ref:`configured `, then click either :guilabel:`Order` if requesting a physical card, or :guilabel:`Activate` if creating a virtual card." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:-1 -msgid "Reports to validate are found on the Reports to Approve page." +#: ../../content/applications/finance/expenses/expense_cards.rst:253 +msgid "Physical cards take 5 to 10 business days to be delivered. Once ordered, delivery information is added to the chatter, and the user who placed the card order receives the information by email." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:29 -msgid "Approve expense reports" +#: ../../content/applications/finance/expenses/expense_cards.rst:256 +msgid "If a physical card is requested, the card status changes to :guilabel:`Inactive`, while it is being printed and mailed to the selected address. Once the card arrives, follow the included instructions to activate the card." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:31 -msgid "Expense reports can be approved in two ways: :ref:`individually ` or :ref:`in bulk `." +#: ../../content/applications/finance/expenses/expense_cards.rst:260 +msgid "If the card is a virtual card, once :guilabel:`Activate` is clicked, the status changes to :guilabel:`Active` and it is available for use." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:35 -msgid "Only reports with a status of :guilabel:`Submitted` can be approved." +#: ../../content/applications/finance/expenses/expense_cards.rst:263 +msgid "Once the status of an expense card is :guilabel:`Active`, the user can use the card to purchase expensable items, as long as the purchases are within the limits set on the card." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:37 -msgid "It is recommended to display only :guilabel:`Submitted` reports by ticking the checkbox beside the :guilabel:`Submitted` filter, in the left column, under the :guilabel:`Status` section." +#: ../../content/applications/finance/expenses/expense_cards.rst:267 +msgid "Demo expense card" msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:40 -msgid "If a report is **not** able to be approved, the :guilabel:`Approve Report` button **does not** appear on the :guilabel:`All Reports` page." +#: ../../content/applications/finance/expenses/expense_cards.rst:269 +msgid "To test the expense card feature without using a live Stripe account, :ref:`install ` the `Expense Cards: Demo` module. This replaces production functionalities and allows for the creation of a demo Stripe account, using virtual cards and fake funds to simulate transactions." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:46 -msgid "Approve individual reports" +#: ../../content/applications/finance/expenses/expense_cards.rst:275 +msgid "If a production account is already configured, **do not use** the demo module, as it overwrites the existing setup." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:48 -msgid "To approve an individual report, navigate to :menuselection:`Expenses app --> Expense Reports`, and click on an individual report to view the report form." +#: ../../content/applications/finance/expenses/expense_cards.rst:279 +msgid "Using expense cards" msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:51 -msgid "From here, several options are presented: :guilabel:`Approve`, :guilabel:`Refuse`, and :guilabel:`Reset to draft`." +#: ../../content/applications/finance/expenses/expense_cards.rst:281 +msgid "Using an expense card is almost identical to using any other credit or debit card. The only difference is if a :ref:`physical card ` or a :ref:`virtual card ` is used." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:54 -msgid "Click :guilabel:`Approve` to approve the report." +#: ../../content/applications/finance/expenses/expense_cards.rst:285 +msgid "When a charge is made using an expense card, an expense record is automatically created in the **Expenses** app, linked to the specific card. The next step is to attach the corresponding receipt." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:59 -msgid "Approve multiple reports" +#: ../../content/applications/finance/expenses/expense_cards.rst:289 +msgid "It is best proactive to take a photo of a receipt as soon as it is received, to eliminate the risk of losing the receipt and having an expense reimbursement request denied." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:61 -msgid "To approve multiple expense reports at once, first navigate to :menuselection:`Expenses app --> Expense Reports` to view a list of expense reports. Next, select the reports to approve by ticking the checkbox next to each report being approved, or tick the checkbox next to the :guilabel:`Employee` column title to select all the reports in the list." +#: ../../content/applications/finance/expenses/expense_cards.rst:292 +msgid "Open the expense record by navigating to :menuselection:`Expenses app --> Cards`, and click on the specific card. Next, click the :icon:`fa-usd` :guilabel:`Expenses` smart button, and the :guilabel:`Expenses` dashboard loads for that card. Any expense that does *not* have a receipt attached to the record displays a :icon:`fa-credit-card` :guilabel:`Please upload the receipt.`" msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:66 -msgid "Next, click the :guilabel:`Approve Report` button." +#: ../../content/applications/finance/expenses/expense_cards.rst:297 +msgid "Click on the desired expense record to open the detailed expense form. Click the :guilabel:`Attach Receipt` button, and a file explorer loads. Navigate to the receipt, and click :guilabel:`Open` to select it and attach it to the expense." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:-1 -msgid "Approve multiple reports by clicking the checkboxes next to each report." +#: ../../content/applications/finance/expenses/expense_cards.rst:301 +msgid "Make any other adjustments to :ref:`the expense record `, if necessary. Once the record is correct, click :guilabel:`Submit` to submit the receipt, or :guilabel:`Split`, if the receipt needs to be split between multiple expenses." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:73 -msgid "It is possible for team managers to view all the expense reports for just their team members." +#: ../../content/applications/finance/expenses/expense_cards.rst:306 +msgid "If a purchase is attempted that either is outside the listed countries, listed categories, or exceeds the transaction limit or total expense limit for the specified time period, the expense is denied and captured in the :guilabel:`Expenses` dashboard for the card, with a status of *Refused*." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:75 -msgid "To do so, while on the :guilabel:`All Reports` page, click the :icon:`fa-caret-down` :guilabel:`(down arrow)` to the right of the search bar, then click :guilabel:`My Team` in the :icon:`fa-filter` :guilabel:`Filters` section." +#: ../../content/applications/finance/expenses/expense_cards.rst:311 +msgid "To view the details of why the transaction was refused, click on the :icon:`fa-usd` :guilabel:`Expenses` smart button for the card, and click on the refused transaction. The details explaining why the transaction was refused appears in the chatter, authored by *OdooBot*." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:79 -msgid "This presents all the reports for only the manager's team." +#: ../../content/applications/finance/expenses/expense_cards.rst:318 +msgid "Physical card" msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:0 -msgid "Select the My Team filter." +#: ../../content/applications/finance/expenses/expense_cards.rst:320 +msgid "When using a physical card, make charges in the same manner as a regular physical pre-paid debit card." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:86 -msgid "Refuse expense reports" +#: ../../content/applications/finance/expenses/expense_cards.rst:323 +msgid "Once the user receives the card, the cardholder must activate the card using the instructions provided with the card. Next, open the **Expenses** app, and click on the physical card, which has a status of :guilabel:`Pending`. Click :guilabel:`Activate`, then when prompted, enter the last four digits of the card, confirm the phone number, accept the terms and conditions, and complete the activation." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:88 -msgid "Expense reports can **only** be refused on the individual expense report, and **not** from the :guilabel:`All Reports` dashboard. To open an individual expense report, navigate to :menuselection:`Expenses app --> Expense Reports`, then click on an individual expense report to view the report form." +#: ../../content/applications/finance/expenses/expense_cards.rst:330 +msgid "Card PIN" msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:93 -msgid "If more information is needed, such as a missing receipt, communicate any necessary information requests in the *chatter* of the report form. On the individual expense report, click :guilabel:`Send message` to open a message text box." +#: ../../content/applications/finance/expenses/expense_cards.rst:332 +msgid "To view the card's PIN, open the card form in the **Expenses** app, and enter the six-digit code sent via SMS to the associated phone number. The card and its PIN appear in a pop-up window. The PIN is displayed below the card and **cannot** be changed." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:97 -msgid "Type in a message, tagging the proper people, and post it to the *chatter* by clicking :guilabel:`Send`. The message is posted in the chatter, and the tagged people are notified, via email." +#: ../../content/applications/finance/expenses/expense_cards.rst:339 +msgid "Virtual card" msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:102 -msgid "The only people that can be tagged in a message are *followers* of the specific report. To see who is a follower, click the :icon:`fa-user-o` :guilabel:`(user)` icon to display the followers of the expense report." +#: ../../content/applications/finance/expenses/expense_cards.rst:341 +msgid "If using a virtual card, there is one additional step to access the card information to use for purchases." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:0 -#: ../../content/applications/finance/expenses/approve_expenses.rst:-1 -msgid "Send messages in the chatter." +#: ../../content/applications/finance/expenses/expense_cards.rst:344 +msgid "To obtain the card information, navigate to :menuselection:`Expenses app --> Cards` and click on the virtual card being used. Next, click into the :guilabel:`Card Details` tab, and two items appear: the expense card number, with only the last four digits displayed, and the expiration date." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:348 +msgid "To view the full details, click :icon:`fa-eye` :guilabel:`View Details`, and a :guilabel:`Two-Factor Authentication` pop-up window loads. Enter the six-digit authentication code that is texted to the cardholder's phone number. The card appears in the pop-up window, with all the information displayed: the card number, expiration date, and security code. When done, close the window by clicking :guilabel:`X`." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:355 +msgid "Android users can add their virtual expense cards `to a Google wallet `_." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:359 +msgid "Lost cards" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:361 +msgid "When a physical card is lost, or if credentials for a virtual card have been compromised, the cards must be updated in the **Expenses** app so they cannot be used. This is referred to in Odoo as *blocking*." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:365 +msgid "To stop any charges on a card, navigate to :menuselection:`Expenses app --> Cards`, and click on the specific card being deactivated. On the card form, click the :guilabel:`Block` button, and a :guilabel:`Block a Card` pop-up window loads." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:369 +msgid "Click into the field next to :guilabel:`Reason`, and select the reason the card is being blocked. The options are :guilabel:`Lost`, :guilabel:`Stolen`, or :guilabel:`Other`. After making a selection, click :guilabel:`Block`, and the card is unable to be used, and a red :guilabel:`Blocked` banner appears on the card in the :guilabel:`Cards` dashboard view." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:375 +msgid "An employee is given a virtual expense card to use for an upcoming business trip. The employee uses this card to purchase an airline ticket and a hotel room, one month before the scheduled trip." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:379 +msgid "A week before the trip, they receive an email from the airline, explaining there has been a data breach, and customer names, contact information, and purchase details including credit card numbers have been leaked." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:383 +msgid "The employee reaches out to their manager, explaining the situation. The manager opens the virtual expense card, and blocks the card using the reason :guilabel:`Other`. Then the manager issues another virtual card for the employee to use for their business trip." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:388 +msgid "Temporary card pauses" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:390 +msgid "When an employee is out of office for an extended period of time, such as a vacation, or an illness, it is recommended to temporarily deactivate their card to prevent any fraudulent charges. This is referred to in Odoo as *pausing* a card." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:394 +msgid "To pause a card, navigate to :menuselection:`Expenses app --> Cards`, and click on the specific card being paused. On the card form, click :guilabel:`Pause`, and the card is unable to be used until it is activated." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:399 +msgid "An employee in the sales department has a physical expense card to use for client meetings. They recently welcomed a new child, and will be out of office on parental leave for three months." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_cards.rst:402 +msgid "On the employee's last day, their manager opens the expense card record, and clicks :guilabel:`Pause`. When the employee returns to work, the manager opens the expense card form and clicks :guilabel:`Active` to reactivate the card." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:3 +msgid "Expense categories" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:5 +msgid "Odoo **Expenses** streamlines the management of expenses. After an employee :doc:`logs their expenses <../expenses/log_expenses>` and :doc:`submits their expense report <../expenses/expense_reports>` in Odoo, expenses are reviewed by management and accounting teams. Once :doc:`approved <../expenses/approve_expenses>`, payments can be processed and :doc:`disbursed back to the employee <../expenses/reimburse>` for reimbursement." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:12 +msgid "`Odoo Expenses: product page `_" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:15 +msgid "View expense categories" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:17 +msgid "The first step to track expenses is configuring the different types of expenses for the company (managed as *expense categories* in Odoo). Each category can be as specific or generalized as needed. Additionally, expense categories can be configured to repay expenses at either a set price or allow for specific prices to be reported." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:22 +msgid "To view the default expense categories, navigate to :menuselection:`Expenses app --> Configuration --> Expense Categories`." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:25 +msgid "The default expense categories allow creating expenses for common expenses, including communication costs, meals, gifts, miles driven, and other travel expenses. For expenses outside these default categories, the general expenses category, :guilabel:`EXP_GEN`, is used. If a company has specific expenses it commonly reimburses, and wants to track them separately, :ref:`new expense categories can be made ` or existing expense categories can be modified." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:-1 +msgid "Set expense costs on products." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:37 +msgid "Create new expense categories" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:39 +msgid "Some companies require more expense categories than the **Expenses** app includes. For these situations, new expense categories can be created." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:43 +msgid "A company that trains car mechanics allows its technicians to purchase $500 worth of tools in a year. In this situation, the company creates a new category called `TOOLS` to track all tool expenses." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:47 +msgid "To create a new expense category, navigate to :menuselection:`Expenses app --> Configuration --> Expense Categories`. Click :guilabel:`New`, and a new expense category form loads." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:51 +msgid "Expense *categories* are managed like *products* in Odoo. The expense category form follows the standard product form in Odoo, and the information entered is similar. Expense *products* are referred to as expense *categories* throughout this document since the main menu refers to these as :guilabel:`Expense Categories`." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:56 +msgid "Enter the following fields on the form:" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:58 +msgid ":guilabel:`Product Name`: Enter a name for the category that is short and informative." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:59 +msgid ":guilabel:`Cost`: If employees can report the actual cost of an expense, and are reimbursed the reported amount, leave the field set to `0.00`. If the expense should **always** be reimbursed for a specific price, enter the amount in this field. If a price is entered, a :guilabel:`per` field appears with :guilabel:`Unit` populated by default. :guilabel:`Unit` covers most expense situations, but if the reimbursement is based on weight, length, volume, etc., choose the corresponding type of unit using the drop-down menu." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:67 +msgid "Here are some examples for when to set a specific :guilabel:`Cost` on a product vs. leaving the :guilabel:`Cost` at `0.00`:" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:70 +msgid "**Meals**: If employees are reimbursed for their full meal cost, set the :guilabel:`Cost` to `0.00`. When an employee logs an expense for a meal, they enter the actual amount of the bill and are reimbursed for that amount. An expense for a meal costing $95.23 would equal a reimbursement of $95.23." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:74 +msgid "**Mileage**: If employees receive a flat rate for each mile they drive, set the :guilabel:`Cost` to `1.00`. When an employee logs an expense for the miles driven, they enter the number of miles driven in the :guilabel:`Quantity` field, and are reimbursed $1.00 per mile they reported. An expense for 100 miles would equal a reimbursement of $100.00." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:78 +msgid "**Per Diem**: If employees receive a daily flat rate of $125.00 when traveling, set the :guilabel:`Cost` to `125.00`. An expense for three days of per diem costs (meals, incidentals, taxi fare, etc.) would equal a reimbursement of $375.00." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:83 +msgid "The :guilabel:`Cost` field is always visible on the expense category form, but the :guilabel:`Sales Price` field is *only* visible if the :guilabel:`Sales Price` is selected under the :guilabel:`Re-Invoice Expenses` section. Otherwise, the :guilabel:`Sales Price` field is hidden." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:88 +msgid ":guilabel:`Reference`: Enter a short reference for the expense, such as `FOOD` or `TRAVEL`. This reference is used when :ref:`emailing expenses `." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:90 +msgid ":guilabel:`Category`: Using the drop-down menu, select the category the expense falls under. It is recommended to use the default category `All / Expenses`, but another category can be selected if the accounting department requires it." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:93 +msgid ":guilabel:`Company`: If in a multi-company database, select the company the expense category applies to. If the expense category applies to *all* companies, leave this field blank." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:95 +msgid ":guilabel:`Guideline`: Enter some rules or important information for the expense category. This is visible in the :guilabel:`Note` column on the :guilabel:`Expense Category` dashboard." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:99 +msgid "An expense category for expenses related to working from home may have a :guilabel:`Name` of `WFH`, and the :guilabel:`Guideline` may say `Monitors, Chairs, & Other Home Working Costs`." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:102 +msgid ":guilabel:`Expense Account`: If using the Odoo **Accounting** app, select the :abbr:`CoA (Chart of Accounts)` the expense should be logged on." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:106 +msgid "Check with the accounting department to determine the correct account to reference in this field as it affects various reports." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:109 +msgid ":guilabel:`Purchase Taxes` and :guilabel:`Sales Taxes`: Enter the default taxes that are applied when purchasing or selling this product, if applicable." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:113 +msgid "The :guilabel:`Sales Taxes` field is **only** visible if the **Sales** app is installed, and either the :guilabel:`At cost` or :guilabel:`Sales Price` options are selected in the :ref:`invoicing section `." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:118 +msgid "It is considered good practice to use a tax that is configured with :ref:`Tax Included in Price `. Taxes are automatically configured if these are set." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:-1 +msgid "A new expense category for tools." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:127 +msgid "Invoicing section" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:129 +msgid "If the **Sales** app is installed, an invoicing section is visible. This section allows the expense to be reinvoiced to customers on sales orders." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:132 +msgid "If the expense **cannot** be reinvoiced, enable the :guilabel:`No` option. If the expense category **can** be reinvoiced, enable either of these options:" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:135 +msgid ":guilabel:`At cost`: Select this option to have the expense item reinvoiced at the price set in the :guilabel:`Cost` field." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:137 +msgid ":guilabel:`Sales Price`: Select this option to have the expense item reinvoiced at the sales price. When enabled, a :guilabel:`Sales Price` field appears beneath the :guilabel:`Product Name` field. Enter the sales price in the new field." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:142 +msgid "A heating and cooling company offers at-home repairs on the furnaces and central air units it sells. Their technicians are sub-contracted, and use their own vans, tools, and parts." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_categories.rst:145 +msgid "As part of their contracts, technicians are reimbursed for their travel. They receive $1.00 for every mile they drive. Additionally, the customer must pay for the travel as part of their service contract. The customer pays $1.50 for every mile the technician drives to their location." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:110 -msgid "To refuse an expense report, click :guilabel:`Refuse`, and a :guilabel:`Refuse Expense` pop-up window appears. Enter a brief explanation for the refusal beneath the :guilabel:`REASON TO REFUSE EXPENSE` field, then click :guilabel:`Refuse`." +#: ../../content/applications/finance/expenses/expense_categories.rst:149 +msgid "To configure this expense, the :guilabel:`Sales Price` is set to `1.50` and the :guilabel:`Cost` is set to `1.00`." msgstr "" -#: ../../content/applications/finance/expenses/approve_expenses.rst:118 -msgid "Once the expense report is refused, the status changes to :guilabel:`Refused`, and the only button that appears in the top-left is :guilabel:`Reset to Draft`." +#: ../../content/applications/finance/expenses/expense_categories.rst:0 +msgid "An expense category to reinvoice customers and pay technicians." msgstr "" #: ../../content/applications/finance/expenses/expense_reports.rst:3 @@ -15318,11 +16174,11 @@ msgid "Expense reports" msgstr "" #: ../../content/applications/finance/expenses/expense_reports.rst:5 -msgid "When expenses are ready to submit (such as, at the end of a business trip, or once a month), an *expense report* needs to be created. Open the main :menuselection:`Expenses app` dashboard, which displays the :guilabel:`My Expenses` dashboard, by default. Alternatively, navigate to :menuselection:`Expenses app --> My Expenses --> My Expenses`." +msgid "When expenses are ready to submit (such as at the end of a business trip, or once a month), an *expense report* needs to be created. Open the main **Expenses** app dashboard, which displays the :guilabel:`My Expenses` dashboard, by default. Alternatively, navigate to :menuselection:`Expenses app --> My Expenses --> My Expenses`." msgstr "" #: ../../content/applications/finance/expenses/expense_reports.rst:10 -msgid "Expenses are color-coded by status. Any expense with a status of :guilabel:`To Report` (expenses that still need to be added to an expense report) is shown in blue text. All other statuses (:guilabel:`To Submit`, :guilabel:`Submitted`, and :guilabel:`Approved`) the text appears in black." +msgid "All expenses are color-coded by status. Any expense with a status of :guilabel:`To Report` (expenses that still need to be added to an expense report) appears in blue text. For all other statuses (:guilabel:`To Submit`, :guilabel:`Submitted`, and :guilabel:`Approved`) the text appears in black." msgstr "" #: ../../content/applications/finance/expenses/expense_reports.rst:17 @@ -15330,131 +16186,184 @@ msgid "Create expense reports" msgstr "" #: ../../content/applications/finance/expenses/expense_reports.rst:19 -msgid "First, select each desired expense to be added to the report on the :guilabel:`My Expenses` dashboard, by ticking the checkbox next to each entry, or quickly select all the expenses in the list by ticking the checkbox next to the :guilabel:`Expense Date` column title, if needed." -msgstr "" - -#: ../../content/applications/finance/expenses/expense_reports.rst:23 -msgid "Another way to quickly add all expenses that are not on a expense report, is to click the :guilabel:`Create Report` button, *without* selecting any expenses, and Odoo automatically selects all expenses with a status of :guilabel:`To Submit` that are not already on a report." +msgid "First, select the desired expense to be added to the report on the :guilabel:`My Expenses` dashboard by ticking the checkbox next to each entry." msgstr "" #: ../../content/applications/finance/expenses/expense_reports.rst:-1 msgid "Select the expenses to submit, then create the report." msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:32 +#: ../../content/applications/finance/expenses/expense_reports.rst:26 msgid "Any expense can be selected from the :guilabel:`My Expenses` list, except for expenses with a status of :guilabel:`Approved`." msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:35 +#: ../../content/applications/finance/expenses/expense_reports.rst:29 msgid "The :guilabel:`Create Report` button is visible as long as there is a minimum of one expense on the list with a status of either :guilabel:`To Report` or :guilabel:`To Submit`." msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:38 -msgid "When the :guilabel:`Create Report` button is clicked, all expenses with a status of :guilabel:`To Submit` that are *not* currently on another expense report appears in the newly-created expense report." +#: ../../content/applications/finance/expenses/expense_reports.rst:32 +msgid "When the :guilabel:`Create Report` button is clicked, all expenses with a status of :guilabel:`To Submit` that are *not* currently on another expense report appear in the newly-created expense report." msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:42 +#: ../../content/applications/finance/expenses/expense_reports.rst:36 msgid "If all expenses on the :guilabel:`My Expenses` report are already associated with another expense report, an :guilabel:`Invalid Operation` pop-up window appears, stating :guilabel:`You have no expenses to report.`" msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:46 -msgid "Once the expenses have been selected, click the :guilabel:`Create Report` button. The new report appears with all the expenses listed in the :guilabel:`Expense` tab. If there is a receipt attached to an individual expense, a :icon:`fa-paperclip` :guilabel:`(paperclip)` icon appears between the :guilabel:`Customer to Reinvoice` and :guilabel:`Analytic Distribution` columns." +#: ../../content/applications/finance/expenses/expense_reports.rst:40 +msgid "Once the expenses have been selected, click the :guilabel:`Create Report` button." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_reports.rst:43 +msgid "Another way to add *all* expenses that are not currently on an expense report is to click the :guilabel:`Create Report` button, *without* selecting any expenses, and Odoo automatically selects all expenses with a status of :guilabel:`To Submit` that are not already on a report." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_reports.rst:47 +msgid "The new report loads with all the expenses listed in the :guilabel:`Expense` tab. If there is a receipt attached to an individual expense, a :icon:`fa-paperclip` :guilabel:`(paperclip)` icon appears on the expense line." msgstr "" #: ../../content/applications/finance/expenses/expense_reports.rst:51 -msgid "When the report is created, the date range for the expenses appears in the :guilabel:`Expense Report Summary` field, by default. It is recommended to edit this field with a short summary for each report to help keep expenses organized. Enter a description for the expense report, such as `Client Trip NYC`, or `Office Supplies for Presentation`, in the :guilabel:`Expense Report Summary` field." +msgid "When the report is created, the date range for the expenses appears as the :guilabel:`Expense Report Summary`, by default. It is recommended to edit this field with a brief summary for each report to help keep expenses organized. Enter a description for the expense report, such as `Client Trip NYC`, or `Office Supplies for Presentation`, in the :guilabel:`Expense Report Summary` field." msgstr "" #: ../../content/applications/finance/expenses/expense_reports.rst:56 -msgid "The :guilabel:`Employee`, :guilabel:`Paid By`, and :guilabel:`Company` fields autopoulate with the information listed on the individual expenses." +msgid "The :guilabel:`Employee`, :guilabel:`Paid By`, and :guilabel:`Company` fields are populated with the information listed on the individual expenses." msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:59 -msgid "Next, select a :guilabel:`Manager` from the drop-down menu to assign a manager to review the report. If needed, update the :guilabel:`Journal` field, using the drop-down menu." +#: ../../content/applications/finance/expenses/expense_reports.rst:60 +msgid "The :guilabel:`Company` field only appears in a multi-company database." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_reports.rst:62 +msgid "Next, select a :guilabel:`Manager` from the drop-down menu to assign a manager to review the report. If needed, update the :guilabel:`Journal` field using the drop-down menu." msgstr "" #: ../../content/applications/finance/expenses/expense_reports.rst:-1 msgid "Enter a short description and select a manager for the report." msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:66 +#: ../../content/applications/finance/expenses/expense_reports.rst:68 msgid "If some expenses are missing from the report, they can still be added from this report form. To do so, click :guilabel:`Add a line` at the bottom of the :guilabel:`Expense` tab." msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:69 -msgid "An :guilabel:`Add: Expense Lines` pop-up window appears, displaying all the available expenses (with a :guilabel:`To Submit` status) that can be added to the report." +#: ../../content/applications/finance/expenses/expense_reports.rst:71 +msgid "An :guilabel:`Add: Expense Lines` pop-up window appears, displaying all the available expenses (with a :guilabel:`To Submit` status) that can be added to the report. If a new expense needs to be added that does **not** appear on the list, click :guilabel:`New` to :doc:`create a new expense <../expenses/log_expenses>` and add it to the report." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_reports.rst:76 +msgid "Tick the checkbox next to each expense being added, then click :guilabel:`Select`. Doing so closes the pop-up window, and the items now appear on the report." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_reports.rst:80 +msgid "Expense reports can be created in one of two ways:" +msgstr "" + +#: ../../content/applications/finance/expenses/expense_reports.rst:82 +msgid "Navigate to the main :menuselection:`Expenses app` dashboard (also accessible, via :menuselection:`Expenses app --> My Expenses --> My Expenses`) and click :guilabel:`Create Report`." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_reports.rst:85 +msgid "Navigate to :menuselection:`Expenses app --> My Expenses --> My Reports` and click :guilabel:`New`." msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:72 -msgid "If a new expense needs to be added that does **not** appear on the list, click :guilabel:`New` to :doc:`create a new expense <../expenses/log_expenses>` and add it to the report." +#: ../../content/applications/finance/expenses/expense_reports.rst:91 +msgid "Submit expense reports" msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:75 -msgid "Tick the checkbox next to each expense being added, then click :guilabel:`Select`." +#: ../../content/applications/finance/expenses/expense_reports.rst:93 +msgid "When an expense report is completed, the next step is to submit the report to a manager for approval. To view all expense reports, navigate to :menuselection:`Expenses app --> My Expenses --> My Reports`. Open the specific report from the list of expense reports." msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:77 -msgid "Doing so removes the pop-up window, and the items now appear on the report." +#: ../../content/applications/finance/expenses/expense_reports.rst:98 +msgid "Reports must be individually submitted, and **cannot** be submitted in batches." +msgstr "" + +#: ../../content/applications/finance/expenses/expense_reports.rst:100 +msgid "If the list is large, grouping the results by status may be helpful, since only reports with a :guilabel:`To Submit` status need to be submitted; reports with an :guilabel:`Approved` or :guilabel:`Submitted` status do not. The :guilabel:`To Submit` expenses are identifiable by the :guilabel:`To Submit` status, and by the blue text, while all other expense text appears in black." msgstr "" #: ../../content/applications/finance/expenses/expense_reports.rst:-1 -msgid "Add more expenses to the report before submitting." +msgid "Submit the report to the manager." msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:84 -msgid "Expense reports can be created in one of three places:" +#: ../../content/applications/finance/expenses/expense_reports.rst:108 +msgid "Click on a report to open it, then click :guilabel:`Submit To Manager`. After submitting a report, the next step is for management to review and :doc:`approve it `." msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:86 -msgid "Navigate to the main :menuselection:`Expenses app` dashboard (also accessible, via :menuselection:`Expenses app --> My Expenses --> My Expenses`)" +#: ../../content/applications/finance/expenses/expense_reports.rst:112 +msgid "The status of each report is shown in the :guilabel:`Status` column. If the :guilabel:`Status` column is not visible, click the :icon:`oi-settings-adjust` :guilabel:`(additional options)` icon at the end of the row, and tick the checkbox beside :guilabel:`Status` from the resulting drop-down menu." msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:88 -msgid "Navigate to :menuselection:`Expenses app --> My Expenses --> My Reports`" +#: ../../content/applications/finance/expenses/expense_reports.rst:118 +msgid ":doc:`Approving <../expenses/approve_expenses>` expenses, :doc:`posting <../expenses/post_expenses>` expenses, and :doc:`reimbursing <../expenses/reimburse>` expenses are **only** for users with the appropriate :doc:`access rights `." msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:89 -msgid "Navigate to :menuselection:`Expenses app --> Expense Reports`" +#: ../../content/applications/finance/expenses/expenses_analysis.rst:3 +msgid "Expenses analysis" msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:91 -msgid "In any of these views, click :guilabel:`New` to create a new expense report." +#: ../../content/applications/finance/expenses/expenses_analysis.rst:5 +msgid "It is important for companies to track expenses so they have an understanding of their expenses and can identify trends. Expense reporting allows for detailed information, such as which expense categories are reimbursed the most, which employees incur the most expenses, and if there are any periods of time that tend to incur more expenses than others." msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:96 -msgid "Submit expense reports" +#: ../../content/applications/finance/expenses/expenses_analysis.rst:11 +msgid "View expense analysis report" msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:98 -msgid "When an expense report is completed, the next step is to submit the report to a manager for approval. To view all expense reports, navigate to :menuselection:`Expenses app --> My Expenses --> My Reports`. Open the specific report from the list of expense reports." +#: ../../content/applications/finance/expenses/expenses_analysis.rst:13 +msgid "To view the default *Expenses Analysis* report, navigate to :menuselection:`Expenses app --> Reporting --> Expenses Analysis`. The :guilabel:`Expenses Analysis` report displays all expenses for the current year, in a stacked bar chart, grouped by month." msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:103 -msgid "Reports must be individually submitted, and **cannot** be submitted in batches." +#: ../../content/applications/finance/expenses/expenses_analysis.rst:-1 +msgid "The default stacked bar chart for annual expenses, grouped by month." msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:105 -msgid "If the list is large, grouping the results by status may be helpful, since only reports with a :guilabel:`To Submit` status need to be submitted; reports with an :guilabel:`Approved` or :guilabel:`Submitted` status do not." +#: ../../content/applications/finance/expenses/expenses_analysis.rst:21 +msgid "View expenses by employee" msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:109 -msgid "The :guilabel:`To Submit` expenses are identifiable by the :guilabel:`To Submit` status, and by the blue text, while all other expense text appears in black." +#: ../../content/applications/finance/expenses/expenses_analysis.rst:23 +msgid "It is possible to view the data so that the total cost of expenses *by employee* is visible. To view the report in this way, navigate to :menuselection:`Expenses app --> Reporting --> Expenses Analysis`. Next, click the :icon:`oi-view-pivot` :guilabel:`(Pivot)` icon to view the data in a pivot table." msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:-1 -msgid "Submit the report to the manager." +#: ../../content/applications/finance/expenses/expenses_analysis.rst:28 +msgid "This presents the data with the *employees* populating the rows, and the *total monthly expenses* populate the columns. Next, click :icon:`fa-minus-square-o` :guilabel:`Total` at the top of the monthly columns to hide the individual monthly totals, and present only the *total* amount for the year." msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:117 -msgid "The status of each report is shown in the :guilabel:`Status` column. If the :guilabel:`Status` column is not visible, click the :icon:`oi-settings-adjust` :guilabel:`(additional options)` icon at the end of the row, and tick the checkbox beside :guilabel:`Status` from the resulting drop-down menu." +#: ../../content/applications/finance/expenses/expenses_analysis.rst:33 +#: ../../content/applications/finance/expenses/expenses_analysis.rst:63 +msgid "To present the data in either ascending or descending total, click the :guilabel:`Total In Currency` box, and the information is organized first in ascending order, starting with the smallest amount. Click :guilabel:`Total In Currency` again to reverse the order, and present the highest amount first." +msgstr "" + +#: ../../content/applications/finance/expenses/expenses_analysis.rst:39 +msgid "In this example it can be determined that :guilabel:`Mike Smith` has the highest amount of expenses, totaling :guilabel:`4,216.44`. This is almost seven times higher than :guilabel:`Ronnie Hart`, who has the second highest expenses, with a total of :guilabel:`644.74`." +msgstr "" + +#: ../../content/applications/finance/expenses/expenses_analysis.rst:0 +msgid "A pivot table with the information shown by employee, in descending order." +msgstr "" + +#: ../../content/applications/finance/expenses/expenses_analysis.rst:47 +msgid "View expenses by category" +msgstr "" + +#: ../../content/applications/finance/expenses/expenses_analysis.rst:49 +msgid "It is possible to view the data so that the total cost of expenses *by category* is visible. To view the report in this way, navigate to :menuselection:`Expenses app --> Reporting --> Expenses Analysis`. Next, click the :icon:`oi-view-pivot` :guilabel:`(Pivot)` icon to view the data in a pivot table." +msgstr "" + +#: ../../content/applications/finance/expenses/expenses_analysis.rst:54 +msgid "This presents the data with the *employees* populating the rows, and the *total monthly expenses* populate the columns. Next, click :icon:`fa-minus-square-o` :guilabel:`Total` at the top of the employees column. Click :icon:`fa-plus-square` :guilabel:`Total` that appears in place of :icon:`fa-minus-square-o` :guilabel:`Total`, revealing a drop-down menu of options. Click :guilabel:`Category`, and the expense categories now populate the rows." msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:122 -msgid "Click on a report to open it, then click :guilabel:`Submit To Manager`. After submitting a report, the next step is to wait for the manager to approve it." +#: ../../content/applications/finance/expenses/expenses_analysis.rst:60 +msgid "Next, click :icon:`fa-minus-square-o` :guilabel:`Total` at the top of the months column to hide the individual months, and only show the annual total for each category." msgstr "" -#: ../../content/applications/finance/expenses/expense_reports.rst:126 -msgid ":doc:`Approving <../expenses/approve_expenses>` expenses, :doc:`posting <../expenses/post_expenses>` expenses, and :doc:`reimbursing <../expenses/reimburse>` expenses are **only** for users with the appropriate :doc:`access rights documentation `." +#: ../../content/applications/finance/expenses/expenses_analysis.rst:69 +msgid "In this example, it can be determined that the company spent the most on travel expenses, with the expense category :guilabel:`[TRANS & ACC] Travel & Accommodation` incurring :guilabel:`2,940.00` of expenses for the year. The company reimbursed mileage the least, with only :guilabel:`229.69` in :guilabel:`[MIL] Mileage` expenses." +msgstr "" + +#: ../../content/applications/finance/expenses/expenses_analysis.rst:0 +msgid "A pivot table with the information shown by catrgory in descending order." msgstr "" #: ../../content/applications/finance/expenses/log_expenses.rst:3 @@ -15462,90 +16371,90 @@ msgid "Log expenses" msgstr "" #: ../../content/applications/finance/expenses/log_expenses.rst:5 -msgid "Before expenses can be reimbursed, each individual expense needs to be logged in the database. Expense records can be created in three different ways: :ref:`manually enter an expense record `, :ref:`upload a receipt `, or :ref:`email a receipt ` to a preconfigured email address." +msgid "Before expenses can be reimbursed, each individual expense needs to be logged in the database. Expense records can be created in four different ways: :ref:`manually enter an expense record `, :ref:`upload a receipt `, :ref:`drag and drop ` a receipt onto the **Expenses** app dashboard, or :ref:`email a receipt ` to a preconfigured email address." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:13 +#: ../../content/applications/finance/expenses/log_expenses.rst:14 msgid "Manually enter expenses" msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:15 -msgid "To record a new expense, open the :menuselection:`Expenses app`, which displays the :guilabel:`My Expenses` page, by default." -msgstr "" - -#: ../../content/applications/finance/expenses/log_expenses.rst:19 -msgid "This view can also be accessed from :menuselection:`Expenses app --> My Expenses --> My Expenses`." +#: ../../content/applications/finance/expenses/log_expenses.rst:16 +msgid "To record a new expense, open the **Expenses** app, which displays the :guilabel:`My Expenses` page, by default." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:22 -msgid "Then, click :guilabel:`New`, and then fill out the following fields on the form that appears:" +#: ../../content/applications/finance/expenses/log_expenses.rst:20 +msgid "This view can also be accessed at any time by navigating to :menuselection:`Expenses app --> My Expenses --> My Expenses`." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:24 -msgid ":guilabel:`Description`: Enter a short description for the expense. This should be concise and informative, such as `lunch with client` or `hotel for conference`." +#: ../../content/applications/finance/expenses/log_expenses.rst:23 +msgid "Click the :guilabel:`New` button and fill out the following fields on the blank expense form that loads:" msgstr "" #: ../../content/applications/finance/expenses/log_expenses.rst:26 -msgid ":guilabel:`Category`: Select the expense category from the drop-down menu that most closely corresponds to the expense." +msgid ":guilabel:`Description`: Enter a short description for the expense. This should be concise and informative, such as `Lunch with client` or `Hotel for trade show`." msgstr "" #: ../../content/applications/finance/expenses/log_expenses.rst:28 -msgid ":guilabel:`Total`: Enter the total amount paid for the expense in one of two ways:" +msgid ":guilabel:`Category`: Using the drop-down menu, select the :doc:`expense category ` that most closely corresponds to the expense." msgstr "" #: ../../content/applications/finance/expenses/log_expenses.rst:30 -msgid "If the expense is for a single item/expense, and the category selected was for a single item, enter the cost in the :guilabel:`Total` field (the :guilabel:`Quantity` field is hidden)." +msgid ":guilabel:`Total`: Enter the total amount paid for the expense in one of two ways:" msgstr "" #: ../../content/applications/finance/expenses/log_expenses.rst:32 -msgid "If the expense is for multiples of the same item/expense with a fixed price, the :guilabel:`Unit Price` is displayed. Enter the quantity in the :guilabel:`Quantity` field, and the total cost is automatically updated with the correct total. The total cost appears below the :guilabel:`Quantity`." +msgid "If the expense is for a single item/expense, and the category selected was for a single item, enter the cost in the :guilabel:`Total` field (the :guilabel:`Quantity` field is hidden)." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:38 -msgid "In the case of mileage driven, the :guilabel:`Unit Price` is populated as the cost *per mile*. Set the :guilabel:`Quantity` to the *number of miles driven*, and the total is calculated." +#: ../../content/applications/finance/expenses/log_expenses.rst:34 +msgid "If the expense is for multiples of the same item/expense with a fixed price, the :guilabel:`Unit Price` is displayed. Enter the number of units in the :guilabel:`Quantity` field, and the total cost is automatically updated with the correct total. The total cost appears below the :guilabel:`Quantity`." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:42 -msgid ":guilabel:`Included Taxes`: If taxes were configured on the expense category, the tax percentage and amount appear automatically after entering either the :guilabel:`Total` or the :guilabel:`Quantity`." +#: ../../content/applications/finance/expenses/log_expenses.rst:40 +msgid "An employee received one dollar for each mile driven for work. The :guilabel:`Category` is :guilabel:`[MIL] Mileage`. The :guilabel:`Unit Price` is automatically populated with `$1.00`, which is the cost *per mile* configured for the expense :guilabel:`Category` :guilabel:`[MIL] Mileage`. The :guilabel:`Quantity` is set to `48`, which is the *number of miles driven*, and the total is calculated to `$48.00`." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:47 +#: ../../content/applications/finance/expenses/log_expenses.rst:46 +msgid ":guilabel:`Included Taxes`: If taxes were configured on the selected expense category, the tax percentage and amount appear automatically after entering either the :guilabel:`Total` or the :guilabel:`Quantity`." +msgstr "" + +#: ../../content/applications/finance/expenses/log_expenses.rst:51 msgid "When a tax is configured on an expense category, the :guilabel:`Included Taxes` value updates in real time, as the :guilabel:`Total` or :guilabel:`Quantity` is updated." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:50 -msgid ":guilabel:`Employee`: Using the drop-down menu, select the employee this expense is for." +#: ../../content/applications/finance/expenses/log_expenses.rst:54 +msgid ":guilabel:`Employee`: Using the drop-down menu, select the employee associated with the expense." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:51 -msgid ":guilabel:`Paid By`: Click the radio button to indicate who paid for the expense, and should be reimbursed. Select either :guilabel:`Employee (to reimburse)` or :guilabel:`Company`. Depending on the expense category selected, this field may not appear." +#: ../../content/applications/finance/expenses/log_expenses.rst:55 +msgid ":guilabel:`Paid By`: Click the radio button to indicate who paid for the expense and should be reimbursed. Select either :guilabel:`Employee (to reimburse)` or :guilabel:`Company`. Depending on the expense category selected, this field may not appear." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:54 +#: ../../content/applications/finance/expenses/log_expenses.rst:58 msgid ":guilabel:`Expense Date`: Using the calendar popover window that appears when this field is clicked, enter the date the expense was incurred." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:56 -msgid ":guilabel:`Account`: Using the drop-down menu, select the expense account the expense should be logged in." +#: ../../content/applications/finance/expenses/log_expenses.rst:60 +msgid ":guilabel:`Account`: If the selected expense :guilabel:`Category` has a specific account linked to it, that account appears in the :guilabel:`Account` field. If no account is specified, the default `600000 Expenses` account populates this field. If a different account is desired, select the account the expense should be logged in." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:58 -msgid ":guilabel:`Customer to Reinvoice`: If the expense is something that should be paid for by a customer, select the :abbr:`SO (Sales Order)` and customer that should be invoiced for this expense from the drop-down menu. All sales orders in the drop-down menu list both the :abbr:`SO (Sales Order)`, as well as the company the sales order is written for. After the expense is saved, the customer name disappears, and only the :abbr:`SO (Sales Order)` is visible on the expense." +#: ../../content/applications/finance/expenses/log_expenses.rst:64 +msgid ":guilabel:`Customer to Reinvoice`: If the expense should be paid for by a customer and the selected :guilabel:`Category` allows for reinvoicing of expenses, select the :abbr:`SO (Sales Order)` and customer to be invoiced for the expense using the drop-down menu. All sales orders in the drop-down menu list both the :abbr:`SO (Sales Order)`, as well as the company the sales order is written for. After the expense is saved, the customer name disappears, and only the :abbr:`SO (Sales Order)` is visible on the expense." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:65 -msgid "A customer wishes to have an on-site meeting for the design and installation of a custom garden, and agrees to pay for the expenses associated with it (such as travel, hotel, meals, etc). All expenses tied to that meeting would indicate the sales order for the custom garden (which also references the customer) as the :guilabel:`Customer to Reinvoice`." +#: ../../content/applications/finance/expenses/log_expenses.rst:72 +msgid "A customer wishes to have an on-site meeting for the design and installation of a custom building, and agrees to pay for all expenses associated with the meeting, including travel, hotel, and meals for the traveling employees. All expenses tied to that meeting would indicate the sales order for the custom building (which also references the customer) as the :guilabel:`Customer to Reinvoice`." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:70 +#: ../../content/applications/finance/expenses/log_expenses.rst:78 msgid ":guilabel:`Analytic Distribution`: Select the account the expense should be written against from the drop-down menu for either :guilabel:`Projects`, :guilabel:`Departments`, or both. Multiple accounts can be listed for each category, if needed. Adjust the percentage for each analytic account by typing in the percentage value next to each account." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:74 -msgid ":guilabel:`Company`: If multiple companies are set up, select the company the expense should be filed for from the drop-down menu. The current company automatically populates this field." +#: ../../content/applications/finance/expenses/log_expenses.rst:82 +msgid ":guilabel:`Company`: If in a multi-company database, select the company the expense should be filed for using the drop-down menu. The current company automatically populates this field." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:76 +#: ../../content/applications/finance/expenses/log_expenses.rst:84 msgid ":guilabel:`Notes...`: If any notes are needed to clarify the expense, enter them in the notes field." msgstr "" @@ -15553,170 +16462,164 @@ msgstr "" msgid "A filled in expense form for a client lunch." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:84 +#: ../../content/applications/finance/expenses/log_expenses.rst:91 msgid "Attach receipts" msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:86 +#: ../../content/applications/finance/expenses/log_expenses.rst:93 msgid "After the expense record is created, the next step is to attach a receipt. Click the :guilabel:`Attach Receipt` button, and a file explorer appears. Navigate to the receipt to be attached, and click :guilabel:`Open`." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:90 +#: ../../content/applications/finance/expenses/log_expenses.rst:97 msgid "The new receipt is recorded in the *chatter*, and the number of receipts appears next to the :icon:`fa-paperclip` :guilabel:`(paperclip)` icon. Multiple receipts can be attached to an individual expense record, as needed." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:-1 -msgid "Attach a receipt and it appears in the chatter." -msgstr "" - -#: ../../content/applications/finance/expenses/log_expenses.rst:101 +#: ../../content/applications/finance/expenses/log_expenses.rst:104 msgid "Upload expenses" msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:103 -msgid "It is possible to have expense records created automatically, by uploading a PDF receipt. This feature requires the enabling of a setting, and the purchasing of :abbr:`IAP (in-app purchases)` credits." +#: ../../content/applications/finance/expenses/log_expenses.rst:106 +msgid "It is possible to have expense records created automatically by :ref:`uploading a PDF receipt `. To utilize this feature, a setting must be enabled, and :abbr:`IAP (in-app purchases)` credits must be purchased." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:108 +#: ../../content/applications/finance/expenses/log_expenses.rst:113 msgid "Digitalization settings" msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:110 +#: ../../content/applications/finance/expenses/log_expenses.rst:115 msgid "To enable receipt scanning, navigate to :menuselection:`Expenses app --> Configuration --> Settings`, and tick the checkbox beside the :guilabel:`Expense Digitization (OCR)` option. Then, click :guilabel:`Save`. When enabled, additional options appear. Click on the corresponding radio button to select one of the following options:" msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:115 -msgid ":guilabel:`Do not digitize`: turns off receipt digitization." +#: ../../content/applications/finance/expenses/log_expenses.rst:120 +msgid ":guilabel:`Do not digitize`: Disables receipt digitization but does *not* uninstall the related digitization module." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:116 -msgid ":guilabel:`Digitize on demand only`: only digitizes receipts when requested. A :guilabel:`Digitize document` button appears on expense records. When clicked, the receipt is scanned and the expense record is updated." +#: ../../content/applications/finance/expenses/log_expenses.rst:122 +msgid ":guilabel:`Digitize on demand only`: Only digitizes receipts when requested. A :guilabel:`Digitize document` button appears on expense records. When clicked, the receipt is scanned and the expense record is updated." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:119 -msgid ":guilabel:`Digitize automatically`: automatically digitizes all receipts when they are uploaded." +#: ../../content/applications/finance/expenses/log_expenses.rst:125 +msgid ":guilabel:`Digitize automatically`: Automatically digitizes all receipts when they are uploaded." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:121 -msgid "Beneath these options are two additional links. Click the :icon:`fa-arrow-right` :guilabel:`Buy credits` link to purchase credits for receipt digitization. Click the :icon:`fa-arrow-right` :guilabel:`View My Services` link to view a list of all current services, and their remaining credit balances." +#: ../../content/applications/finance/expenses/log_expenses.rst:127 +msgid "Beneath these options are two additional links. Click the :icon:`fa-arrow-right` :guilabel:`Manage Service & Buy Credits` link to view account details and settings, and purchase credits for receipt digitization. Click the :icon:`fa-arrow-right` :guilabel:`View My Services` link to view a list of all current services, and their remaining credit balances." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:126 +#: ../../content/applications/finance/expenses/log_expenses.rst:132 msgid "For more information on document digitization and :abbr:`IAPs (in-app purchases)`, refer to the :doc:`In-app purchase (IAP) <../../essentials/in_app_purchase>` documentation." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:130 +#: ../../content/applications/finance/expenses/log_expenses.rst:136 msgid "When the :guilabel:`Expense Digitization (OCR)` option is enabled, a necessary module is installed, so receipts can be scanned. Disabling this option uninstalls the module." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:133 +#: ../../content/applications/finance/expenses/log_expenses.rst:139 msgid "If, at some point, there is a desire to temporarily stop digitizing receipts, select the :guilabel:`Do not digitize` option. The reason this option is available is so the module is not uninstalled, allowing for digitization to be enabled in the future by selecting one of the other two options." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:139 +#: ../../content/applications/finance/expenses/log_expenses.rst:147 msgid "Upload receipts" msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:141 +#: ../../content/applications/finance/expenses/log_expenses.rst:149 msgid "Open the :guilabel:`Expenses app`, and from the :guilabel:`My Expenses` dashboard, click :guilabel:`Upload`, and a file explorer appears. Navigate to the desired receipt, select it, then click :guilabel:`Open`." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:-1 -msgid "Create an expense by scanning a receipt. Click Scan at the top of the Expenses dashboard\n" -"view." -msgstr "" - -#: ../../content/applications/finance/expenses/log_expenses.rst:150 +#: ../../content/applications/finance/expenses/log_expenses.rst:153 msgid "The receipt is scanned, and a new expense record is created. The :guilabel:`Expense Date` field is populated with today's date, along with any other fields based on the scanned data, such as the :guilabel:`Total`." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:154 +#: ../../content/applications/finance/expenses/log_expenses.rst:157 msgid "Click on the new entry to open the individual expense form, and make any changes, if needed. The scanned receipt appears in the *chatter*." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:160 -msgid "Email expenses" -msgstr "" - -#: ../../content/applications/finance/expenses/log_expenses.rst:162 -msgid "Instead of individually creating each expense in the **Expenses** app, expenses can be automatically created by sending an email to an email alias." +#: ../../content/applications/finance/expenses/log_expenses.rst:163 +msgid "Drag and drop an expense" msgstr "" #: ../../content/applications/finance/expenses/log_expenses.rst:165 -msgid "To do so, an email alias must first be configured. Navigate to :menuselection:`Expenses app --> Configuration --> Settings`. Ensure the checkbox beside :guilabel:`Incoming Emails` is ticked. The default email alias is *expense@(domain).com*. Change the email alias by entering the desired email in the field to the right of :guilabel:`Alias`. Then, click :guilabel:`Save`." +msgid "If :ref:`digitalization is enabled `, drag and drop a receipt onto the **Expenses** app dashboard. The receipt is scanned and appears by itself on the :guilabel:`Generate Expenses` dashboard." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:-1 -msgid "Te default email that populates the expenses email alias." +#: ../../content/applications/finance/expenses/log_expenses.rst:169 +msgid "Click on the expense record, and modify the details as needed. After changes are made, return to the :guilabel:`My Expenses` dashboard, and the expense now appears in the list." msgstr "" #: ../../content/applications/finance/expenses/log_expenses.rst:175 -msgid "If the domain alias needs to be set up, :icon:`fa-arrow-right` :guilabel:`Setup your domain alias` appears beneath the :guilabel:`Incoming Emails` checkbox, instead of the email address field." +msgid "Email expenses" +msgstr "" + +#: ../../content/applications/finance/expenses/log_expenses.rst:177 +msgid "Instead of individually creating each expense in the **Expenses** app, expenses can be automatically created by sending an email to an email alias." +msgstr "" + +#: ../../content/applications/finance/expenses/log_expenses.rst:181 +msgid "For security purposes, only authenticated employee emails are accepted by Odoo when creating an expense from an email. To confirm an authenticated employee email address, go to the employee card in the :menuselection:`Employees app`, and refer to the :guilabel:`Work Email` field." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:-1 #: ../../content/applications/finance/expenses/log_expenses.rst:0 msgid "Create the domain alias by clicking the link." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:183 +#: ../../content/applications/finance/expenses/log_expenses.rst:188 +msgid "To do so, an email alias must first be configured. Navigate to :menuselection:`Expenses app --> Configuration --> Settings`. Ensure the checkbox beside :guilabel:`Incoming Emails` is ticked. The default email alias is *expense@(domain).com*. Change the email alias by entering the desired email in the field to the right of :guilabel:`Alias`. Then, click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/finance/expenses/log_expenses.rst:194 +msgid "If the domain alias needs to be set up, :icon:`fa-arrow-right` :guilabel:`Setup your domain alias` appears beneath the :guilabel:`Incoming Emails` checkbox, instead of the email address field." +msgstr "" + +#: ../../content/applications/finance/expenses/log_expenses.rst:198 msgid "Refer to the :doc:`/applications/websites/website/configuration/domain_names` documentation for setup instructions and more information." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:186 +#: ../../content/applications/finance/expenses/log_expenses.rst:201 msgid "Once the domain alias is configured, the email address field is visible beneath the :guilabel:`Incoming Emails` feature on the :guilabel:`Settings` page in the **Expenses** app." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:189 +#: ../../content/applications/finance/expenses/log_expenses.rst:204 msgid "Once the email address has been entered, emails can be sent to that alias to create new expenses, without having to be in the Odoo database." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:192 -msgid "To submit an expense via email, create a new email, and enter the product's *internal reference* code (if available) and the amount of the expense as the subject of the email. Next, attach the receipt to the email. Odoo creates the expense by taking the information in the email subject, and combining it with the receipt." +#: ../../content/applications/finance/expenses/log_expenses.rst:207 +msgid "To submit an expense via email, create a new email, and enter the product's *reference* code (if available) and the amount of the expense as the subject of the email. Next, attach the receipt to the email. Odoo creates the expense by taking the information in the email subject, and combining it with the receipt." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:197 -msgid "To check an expense category's internal reference, go to :menuselection:`Expenses app --> Configuration --> Expense Categories`. If an internal reference is listed on the expense category, it is listed in the :guilabel:`Internal Reference` column." +#: ../../content/applications/finance/expenses/log_expenses.rst:213 +msgid "To check an expense category's reference code, go to :menuselection:`Expenses app --> Configuration --> Expense Categories`. Reference codes are listed in the :guilabel:`Reference` column." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:-1 -msgid "Internal reference numbers are listed in the main Expense Categories view." -msgstr "" - -#: ../../content/applications/finance/expenses/log_expenses.rst:205 -msgid "To add an internal reference on an expense category, click on the category to open the expense category form. Enter the :guilabel:`Internal Reference` in the corresponding field. Beneath the :guilabel:`Internal Reference` field, this sentence appears: :guilabel:`Use this reference as a subject prefix when submitting by email.`" +#: ../../content/applications/finance/expenses/log_expenses.rst:217 +msgid "To add a reference code to an expense category, click on the category to open the expense category form. Enter the reference code in the :guilabel:`Reference` field." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:-1 -msgid "Internal reference numbers are listed in the main Expense Products view." +#: ../../content/applications/finance/expenses/log_expenses.rst:0 +msgid "Reference categories displayed in the main Expense Categories view." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:215 +#: ../../content/applications/finance/expenses/log_expenses.rst:224 msgid "If submitting an expense, via email, for a $25.00 meal during a work trip, the email subject would be `FOOD $25.00`." msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:218 +#: ../../content/applications/finance/expenses/log_expenses.rst:227 msgid "Explanation:" msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:220 -msgid "The :guilabel:`Internal Reference` for the expense category `Meals` is `FOOD`" +#: ../../content/applications/finance/expenses/log_expenses.rst:229 +msgid "The :guilabel:`Reference` for the expense category `Meals` is `FOOD`" msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:221 +#: ../../content/applications/finance/expenses/log_expenses.rst:230 msgid "The :guilabel:`Cost` for the expense is `$25.00`" msgstr "" -#: ../../content/applications/finance/expenses/log_expenses.rst:224 -msgid "For security purposes, only authenticated employee emails are accepted by Odoo when creating an expense from an email. To confirm an authenticated employee email address, go to the employee card in the :menuselection:`Employees app`, and refer to the :guilabel:`Work Email` field." -msgstr "" - #: ../../content/applications/finance/expenses/post_expenses.rst:3 msgid "Post expenses" msgstr "" #: ../../content/applications/finance/expenses/post_expenses.rst:5 -msgid "Once an expense report is :doc:`approved <../expenses/approve_expenses>`, the next step is to post the expense report to the proper accounting journal." +msgid "Once an expense report is :doc:`approved <../expenses/approve_expenses>`, the next step is to post the expenses to the proper accounting journal." msgstr "" #: ../../content/applications/finance/expenses/post_expenses.rst:9 @@ -15732,39 +16635,39 @@ msgid "Expenses: *Manager*" msgstr "" #: ../../content/applications/finance/expenses/post_expenses.rst:15 -msgid "Only expense reports with an *Approved* status can post the expenses to a journal. To view all expense reports, navigate to :menuselection:`Expenses app --> Expense Reports`. Next, to view **only** approved expense reports that need to be posted, adjust the filters on the left side, so only the :guilabel:`Approved` checkbox is ticked." +msgid "Only expense reports with an *Approved* status can post the expenses to a journal. To view all expense reports, navigate to :menuselection:`Expenses app --> Expense Reports`. Next, to view **only** approved expense reports that need to be posted, adjust the filters on the left side so only the :guilabel:`Approved` checkbox is ticked." msgstr "" #: ../../content/applications/finance/expenses/post_expenses.rst:-1 msgid "View reports to post by clicking on expense reports, then reports to post." msgstr "" -#: ../../content/applications/finance/expenses/post_expenses.rst:25 -msgid "The default :guilabel:`All Reports` dashboard displays all expense reports, except reports with a status of :guilabel:`Refused`." +#: ../../content/applications/finance/expenses/post_expenses.rst:24 +msgid "The default :guilabel:`All Reports` dashboard displays all expense reports that are not :guilabel:`Refused`." msgstr "" -#: ../../content/applications/finance/expenses/post_expenses.rst:28 +#: ../../content/applications/finance/expenses/post_expenses.rst:27 msgid "Expense reports can be posted to accounting journals in two ways: :ref:`individually ` or :ref:`in bulk `." msgstr "" -#: ../../content/applications/finance/expenses/post_expenses.rst:34 +#: ../../content/applications/finance/expenses/post_expenses.rst:33 msgid "Post individual reports" msgstr "" -#: ../../content/applications/finance/expenses/post_expenses.rst:36 +#: ../../content/applications/finance/expenses/post_expenses.rst:35 msgid "To post an individual report, navigate to :menuselection:`Expenses app --> Expense Reports`, and click on an individual report with a :guilabel:`Status` of :guilabel:`Approved`, to view the report form. In this view, several options are presented: :guilabel:`Post Journal Entries`, :guilabel:`Report In Next Payslip`, :guilabel:`Refuse`, or :guilabel:`Reset to Draft`." msgstr "" -#: ../../content/applications/finance/expenses/post_expenses.rst:41 -msgid "Click :guilabel:`Post Journal Entries` to post the report." +#: ../../content/applications/finance/expenses/post_expenses.rst:40 +msgid "Click :guilabel:`Post Journal Entries` to post the report. The accounting journal the expenses are posted to is listed in the :guilabel:`Journal` field of the expense report." msgstr "" #: ../../content/applications/finance/expenses/post_expenses.rst:43 -msgid "The accounting journal the expenses are posted to is listed in the :guilabel:`Journal` field of the expense report." +msgid "After posting the expenses to an accounting journal, a :guilabel:`Journal Entry` smart button appears at the top of the screen. Click the :guilabel:`Journal Entry` smart button, and the details for the journal entry appear, with a status of :guilabel:`Posted`." msgstr "" -#: ../../content/applications/finance/expenses/post_expenses.rst:46 -msgid "After posting the expenses to an accounting journal, a :guilabel:`Journal Entry` smart button appears at the top of the screen. Click the :guilabel:`Journal Entry` smart button, and the details for the journal entry appear, with a status of :guilabel:`Posted`." +#: ../../content/applications/finance/expenses/post_expenses.rst:-1 +msgid "A single expense report to be approved." msgstr "" #: ../../content/applications/finance/expenses/post_expenses.rst:53 @@ -15796,165 +16699,175 @@ msgid "Reimburse employees" msgstr "" #: ../../content/applications/finance/expenses/reimburse.rst:5 -msgid "After an expense report is :doc:`posted to an accounting journal <../expenses/post_expenses>`, the next step is to reimburse the employee. Just like approving and posting expenses, employees can be reimbursed in two ways: with cash, check, or direct deposit (:ref:`individually ` or :ref:`in bulk `), or :ref:`reimbursed in a payslip `." +msgid "After an expense report is :doc:`posted to an accounting journal <../expenses/post_expenses>`, the next step is to reimburse the employee. Employees can be reimbursed via cash, check, or direct deposit in three ways:" msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:12 -msgid "Settings" +#: ../../content/applications/finance/expenses/reimburse.rst:9 +msgid ":ref:`Individually `: Each individual expense report is reimbursed separately." msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:14 -msgid "Reimbursements can be paid via paycheck, check, cash, or bank transfer. To set up payment options, first configure the various settings by navigating to :menuselection:`Expenses app --> Configuration --> Settings`." +#: ../../content/applications/finance/expenses/reimburse.rst:11 +msgid ":ref:`In bulk `: Multiple expense reports are reimbursed in a single payment." msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:18 -msgid "To reimburse employees for expenses :ref:`in their paychecks `, tick the checkbox beside the :guilabel:`Reimburse in Payslip` option in the :guilabel:`Expenses` section." +#: ../../content/applications/finance/expenses/reimburse.rst:13 +msgid ":ref:`In the employee's payslip `: Expense reports are reimbursed directly in the employee's payslip." +msgstr "" + +#: ../../content/applications/finance/expenses/reimburse.rst:19 +msgid "Reimbursement settings" msgstr "" #: ../../content/applications/finance/expenses/reimburse.rst:21 -msgid "Next, set how payments are made in the :guilabel:`Accounting` section. Click the drop-down menu under :guilabel:`Payment Methods`, and select the desired payment option. Default options include paying by :guilabel:`Manual (Cash)`, :guilabel:`Checks (Bank)`, :guilabel:`NACHA (Bank)`, and others. Leaving this field blank allows for **all** available payment options to be used." +msgid "Reimbursements can be paid via a paycheck, check, cash, or bank transfer (usually referred to as direct deposit). To set up payment options, first configure the various settings by navigating to :menuselection:`Expenses app --> Configuration --> Settings`." msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:26 -msgid "When all desired configurations are complete, click :guilabel:`Save` to activate the settings." +#: ../../content/applications/finance/expenses/reimburse.rst:25 +msgid "To reimburse employees for expenses :ref:`in their paychecks `, tick the checkbox beside the :guilabel:`Reimburse in Payslip` option in the :guilabel:`Expenses` section." msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:31 -msgid "Reimburse individually" +#: ../../content/applications/finance/expenses/reimburse.rst:28 +msgid "Next, set how payments are made in the :guilabel:`Accounting` section. Click the drop-down menu under :guilabel:`Payment Methods`, and select the desired payment option. The default options include paying by :guilabel:`Manual Payment (Cash)`, :guilabel:`Manual Payment (Bank)`, :guilabel:`Batch Deposit (Bank)`, and :guilabel:`Checks (Bank)`." msgstr "" #: ../../content/applications/finance/expenses/reimburse.rst:33 -msgid "To reimburse an individual expense report, first navigate to :menuselection:`Expenses app --> Expense Reports`. All expense reports are presented in a default list view. Click on the expense report being reimbursed to view the report details." +msgid "Leaving this field blank allows for **all** available payment options to be used." msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:38 -msgid "**Only** expense reports with a status of :guilabel:`Posted` can be reimbursed." +#: ../../content/applications/finance/expenses/reimburse.rst:35 +msgid "When all desired configurations are complete, click :guilabel:`Save` to activate the settings." msgstr "" #: ../../content/applications/finance/expenses/reimburse.rst:40 -msgid "Click the :guilabel:`Register Payment` button in the top-left corner of the expense report, and a :guilabel:`Register Payment` pop-up window appears. Enter the following information in the pop-up window:" +msgid "Reimburse in payslips" msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:44 -msgid ":guilabel:`Journal`: Select the accounting journal to post the payment to using the drop-down menu. The default options are :guilabel:`Bank` or :guilabel:`Cash`." +#: ../../content/applications/finance/expenses/reimburse.rst:42 +msgid "If the *Reimburse in Payslip* option is activated on the :ref:`settings ` page, payments can be added to the employee's next payslip, instead of issuing separate payments." msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:46 -#: ../../content/applications/finance/expenses/reimburse.rst:96 -msgid ":guilabel:`Payment Method`: Select how the payment is made using the drop-down menu. If :guilabel:`Cash` is selected for the :guilabel:`Journal`, the only option available is :guilabel:`Manual`. If :guilabel:`Bank` is selected for the :guilabel:`Journal`, the default options are :guilabel:`Manual` or :guilabel:`Checks`." +#: ../../content/applications/finance/expenses/reimburse.rst:47 +msgid "Reimbursing expenses on payslips can **only** be done individually for an *approved* expense report. Once an expense report has a status of *Posted*, the option to reimburse in the following payslip **is not available**." msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:50 -msgid ":guilabel:`Recipient Bank Account`: Select the employee's bank account the payment is being sent to. If the employee has a bank account on file in the :ref:`Private Information tab ` of their employee form in the **Employees** app, that bank account populates this field, by default." +#: ../../content/applications/finance/expenses/reimburse.rst:51 +msgid "Navigate to :menuselection:`Expenses app --> Expense Reports`, and click on the individual expense report to reimburse on the following paycheck. Click the :guilabel:`Report in Next Payslip` button, and the expenses are added to the next payslip issued for that employee." msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:54 -msgid ":guilabel:`Amount`: The total amount being reimbursed populates this field, by default. The currency, located to the right of the field, can be modified using the drop-down menu." -msgstr "" - -#: ../../content/applications/finance/expenses/reimburse.rst:56 -msgid ":guilabel:`Payment Date`: Enter the date the payments are issued in this field. The current date populates this field, by default." +#: ../../content/applications/finance/expenses/reimburse.rst:-1 +msgid "The Report in Next Payslip button, visible with an expense report status of Approved." msgstr "" #: ../../content/applications/finance/expenses/reimburse.rst:58 -msgid ":guilabel:`Memo`: The text entered in the :doc:`Expense Report Summary <../expenses/expense_reports>` field of the expense report populates this field, by default." +msgid "Once the expense report is added to the following payslip, a message is logged in the chatter stating `Expense report (expense report name) will be added to the next payslip.` The status for the expense report remains :guilabel:`Approved`. The status only changes to :guilabel:`Posted` (and then :guilabel:`Done`), when the related payslip is processed." msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:-1 -msgid "The Register Payment pop-up window filled out for an individual expense report\n" -"reimbursement." +#: ../../content/applications/finance/expenses/reimburse.rst:64 +msgid "Refer to the :doc:`Payslips <../../hr/payroll/payslips>` documentation for more information about processing paychecks." msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:66 -msgid "When the fields of the pop-up window are completed, click the :guilabel:`Create Payment` button to register the payment, and reimburse the employee." +#: ../../content/applications/finance/expenses/reimburse.rst:70 +msgid "Reimburse individually" msgstr "" #: ../../content/applications/finance/expenses/reimburse.rst:72 -msgid "Reimburse in bulk" +msgid "To reimburse an individual expense report, first navigate to :menuselection:`Expenses app --> Expense Reports`. All expense reports are presented in a default list view. Click on the expense report being reimbursed to view the report details." msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:74 -msgid "To reimburse multiple expense reports at once, navigate to :menuselection:`Expenses app --> Expense Reports` to view all expense reports in a list view. Next, adjust the :guilabel:`STATUS` filters on the left side to only present expense reports with a status of :guilabel:`Posted`." +#: ../../content/applications/finance/expenses/reimburse.rst:77 +#: ../../content/applications/finance/expenses/reimburse.rst:117 +msgid "**Only** expense reports with a status of :guilabel:`Posted` can be reimbursed directly to the employee (not :ref:`via a payslip `)." msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:79 -msgid "Adjusting the :guilabel:`STATUS` filters to only show :guilabel:`Posted` expense reports is not necessary, but removes the step of selecting each individual report in the list." +#: ../../content/applications/finance/expenses/reimburse.rst:80 +msgid "Click the :guilabel:`Pay` button in the top-left corner of the expense report, and a :guilabel:`Pay` pop-up window loads. Enter the following information in the pop-up window:" msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:82 -msgid "Tick the checkbox next to the :guilabel:`Employee` column title to select all the reports in the list. Once ticked, the number of selected expense reports appears at the top of the page (:guilabel:`(#) Selected`). Additionally, a :guilabel:`Register Payment` button also appears in the upper-left corner." +#: ../../content/applications/finance/expenses/reimburse.rst:83 +#: ../../content/applications/finance/expenses/reimburse.rst:128 +msgid ":guilabel:`Journal`: Select the accounting journal to post the payment using the drop-down menu. The default options are :guilabel:`Bank` or :guilabel:`Cash`." msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:-1 -msgid "Expense reports filtered by the status Posted, making the Register Payment button visible." +#: ../../content/applications/finance/expenses/reimburse.rst:85 +#: ../../content/applications/finance/expenses/reimburse.rst:130 +msgid ":guilabel:`Payment Method`: Select how the payment is made using the drop-down menu. If :guilabel:`Cash` is selected for the :guilabel:`Journal`, the only option available is :guilabel:`Manual Payment`. If :guilabel:`Bank` is selected for the :guilabel:`Journal`, the default options are :guilabel:`Manual Payment` or :guilabel:`Checks`." msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:91 -msgid "Click the :guilabel:`Register Payment` button, and a :guilabel:`Register Payment` pop-up window appears. Enter the following information in the pop-up window:" +#: ../../content/applications/finance/expenses/reimburse.rst:89 +msgid ":guilabel:`Recipient Bank Account`: This field only appears if the :guilabel:`Journal` is set to :guilabel:`Bank`. The employee's :ref:`bank account ` populates this field, by default. If the employee has more than one trusted bank account on their employee profile, use the drop-down menu to select the desired bank account." msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:94 -msgid ":guilabel:`Journal`: Select the accounting journal the payment should be posted to, using the drop-down menu. The default options are :guilabel:`Bank` or :guilabel:`Cash`." +#: ../../content/applications/finance/expenses/reimburse.rst:93 +msgid ":guilabel:`Amount`: The total amount being reimbursed populates this field, by default." msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:100 -msgid ":guilabel:`Group Payments`: When multiple expense reports are selected for the same employee, this option appears. Tick the checkbox to have only one payment made, rather than issuing multiple payments to the same employee." +#: ../../content/applications/finance/expenses/reimburse.rst:94 +msgid ":guilabel:`Payment Date`: Enter the date the payment is issued in this field. The current date populates this field, by default." msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:103 -msgid ":guilabel:`Payment Date`: Enter the date the payments are issued. The current date populates this field, by default." +#: ../../content/applications/finance/expenses/reimburse.rst:96 +msgid ":guilabel:`Memo`: The text entered in the :doc:`Expense Report Summary <../expenses/expense_reports>` field of the expense report populates this field, by default." msgstr "" #: ../../content/applications/finance/expenses/reimburse.rst:-1 -msgid "The Register Payment pop-up window filled out." +msgid "The Register Payment pop-up window filled out for an individual expense report\n" +"reimbursement." msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:110 -msgid "When the fields on the pop-up window are completed, click the :guilabel:`Create Payments` button to register the payments, and reimburse the employees." +#: ../../content/applications/finance/expenses/reimburse.rst:103 +msgid "When the fields of the pop-up window are completed, click the :guilabel:`Create Payment` button to register the payment, and reimburse the employee. A green :guilabel:`In Payment` banner now appears on the expense report." msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:116 -msgid "Report in next payslip" +#: ../../content/applications/finance/expenses/reimburse.rst:110 +msgid "Reimburse in bulk" msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:118 -msgid "If the *Reimburse in Payslip* option is activated on the *Settings* page, payments can be added to their next payslip, instead of issued manually." +#: ../../content/applications/finance/expenses/reimburse.rst:112 +msgid "To reimburse multiple expense reports at once, navigate to :menuselection:`Expenses app --> Expense Reports` to view all expense reports in a list view. Next, select the expense reports to be reimbursed." msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:122 -msgid "Reimbursing expenses on payslips can **only** be done individually, on an expense report with a status of *Approved*. Once an expense report has a status of *Posted*, the option to reimburse in the following payslip does **not** appear." +#: ../../content/applications/finance/expenses/reimburse.rst:121 +msgid "Adjust the :guilabel:`STATUS` filter on the left side to only show :guilabel:`Posted` expense reports. This displays **only** expense reports that are able to be reimbursed." msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:126 -msgid "Navigate to :menuselection:`Expenses app --> Expense Reports`, and click on the individual expense report being reimbursed on the following paycheck. Click the :guilabel:`Report in Next Payslip` smart button, and the expenses are added to the next payslip issued for that employee. Additionally, a message is logged in the chatter stating the expense is added to the following payslip." +#: ../../content/applications/finance/expenses/reimburse.rst:124 +msgid "Tick the checkbox next to the expense reports being reimbursed, then click the :guilabel:`Pay` button, and a :guilabel:`Pay` pop-up window loads. Enter the following information in the pop-up window:" msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:-1 -msgid "The Report in Next Payslip button, visible with an expense report status of Approved." +#: ../../content/applications/finance/expenses/reimburse.rst:134 +msgid ":guilabel:`Group Payments`: When multiple expense reports are selected for the same employee, this option appears. Tick the checkbox to have only one payment made per employee, rather than issuing multiple payments to the same employee." msgstr "" -#: ../../content/applications/finance/expenses/reimburse.rst:135 -msgid "The status for the expense report remains :guilabel:`Approved`. The status only changes to :guilabel:`Posted` (and then :guilabel:`Done`), when the paycheck is processed." +#: ../../content/applications/finance/expenses/reimburse.rst:137 +msgid ":guilabel:`Amount`: The total amount being reimbursed for all the expense reports populates this field, by default." msgstr "" #: ../../content/applications/finance/expenses/reimburse.rst:139 -msgid "Refer to the :doc:`Payslips <../../hr/payroll/payslips>` documentation for more information about processing paychecks." +msgid ":guilabel:`Payment Date`: Enter the date the payments are issued. The current date populates this field, by default." +msgstr "" + +#: ../../content/applications/finance/expenses/reimburse.rst:142 +msgid "When the fields on the :guilabel:`Pay` pop-up window are completed, click the :guilabel:`Create Payments` button to register the payments, and reimburse the employees." +msgstr "" + +#: ../../content/applications/finance/expenses/reimburse.rst:-1 +msgid "The pay pop-up window filled out for multiple reimbursements via checks." msgstr "" #: ../../content/applications/finance/expenses/reinvoice_expenses.rst:3 -msgid "Re-invoice expenses" +msgid "Reinvoice expenses" msgstr "" #: ../../content/applications/finance/expenses/reinvoice_expenses.rst:5 -msgid "If expenses are tracked on customer projects, they can be automatically charged back to the customer. This is done by :ref:`creating an expense `, referencing the sales order the expense is added to, and then :ref:`creating an expense report `." +msgid "If expenses are tracked on customer projects, they can be automatically charged back to the customer. This is done by :ref:`logging an expense `, referencing the corresponding sales order, and then :ref:`creating an expense report `." msgstr "" #: ../../content/applications/finance/expenses/reinvoice_expenses.rst:10 -msgid "Next, managers :ref:`approve the expense report `, before the accounting department :ref:`posts the journal entries `." +msgid "Next, managers :ref:`approve the expense report `, then the accounting department :ref:`post the journal entries `." msgstr "" #: ../../content/applications/finance/expenses/reinvoice_expenses.rst:13 -msgid "Finally, once the expense report is posted to a journal, the expenses appears on the specified :abbr:`SO (Sales Order)`. The :abbr:`SO (Sales Order)` is then :ref:`invoiced `, thus charging the customer for the expenses." +msgid "Finally, once the expense report is posted to a journal, the expenses appear on the specified :abbr:`SO (Sales Order)`. When the :abbr:`SO (Sales Order)` is :ref:`invoiced `, the customer is charged for the expenses." msgstr "" #: ../../content/applications/finance/expenses/reinvoice_expenses.rst:18 @@ -15974,11 +16887,11 @@ msgid ":doc:`Expense reports <../expenses/expense_reports>`" msgstr "" #: ../../content/applications/finance/expenses/reinvoice_expenses.rst:29 -msgid ":doc:`Approving expenses <../expenses/approve_expenses>`" +msgid ":doc:`Approve expenses <../expenses/approve_expenses>`" msgstr "" #: ../../content/applications/finance/expenses/reinvoice_expenses.rst:30 -msgid ":doc:`Posting expenses in accounting <../expenses/post_expenses>`" +msgid ":doc:`Post expenses <../expenses/post_expenses>`" msgstr "" #: ../../content/applications/finance/expenses/reinvoice_expenses.rst:33 @@ -15988,123 +16901,131 @@ msgid "Setup" msgstr "" #: ../../content/applications/finance/expenses/reinvoice_expenses.rst:35 -msgid "First, specify the invoicing policy for each expense category. Navigate to :menuselection:`Expenses app --> Configuration --> Expense Categories`. Click on an expense category to view the expense category form. Under the :guilabel:`INVOICING` section, click the radio button next to the desired selection for :guilabel:`Re-Invoice Expenses`:" +msgid "First, specify the invoicing policy for each expense category. Navigate to :menuselection:`Expenses app --> Configuration --> Expense Categories`. Click on an expense category to view the expense category form. Under the :guilabel:`INVOICING` section, click the radio button next to the desired selection for :guilabel:`Re-Invoice costs`:" msgstr "" #: ../../content/applications/finance/expenses/reinvoice_expenses.rst:40 -msgid ":guilabel:`No`: The expense category cannot be re-invoiced." +msgid ":guilabel:`No`: The expense category **cannot** be reinvoiced." msgstr "" #: ../../content/applications/finance/expenses/reinvoice_expenses.rst:41 -msgid ":guilabel:`At cost`: The expense category invoices expenses at the cost set on the expense category form." +msgid ":guilabel:`At cost`: The expense category invoices expenses at the :guilabel:`Cost` set on the expense category form." msgstr "" #: ../../content/applications/finance/expenses/reinvoice_expenses.rst:43 -msgid ":guilabel:`Sales price`: The expense category invoices at the sales price set on the expense form." +msgid ":guilabel:`Sales price`: The expense category invoices at the :guilabel:`Sales Price` set on the expense form." +msgstr "" + +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:49 +msgid "Log an expense" msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:48 -msgid "Create an expense" +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:51 +msgid "First, when :doc:`creating a new expense <../expenses/log_expenses>`, the correct information needs to be entered to reinvoice the expense to a customer. Using the drop-down menu, select the :abbr:`SO (Sales Order)` to add the expense to in the :guilabel:`Customer to Reinvoice` field." msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:50 -msgid "First, when :doc:`creating a new expense <../expenses/log_expenses>`, the correct information needs to be entered to re-invoice the expense to a customer. Using the drop-down menu, select the :abbr:`SO (Sales Order)` to add the expense to in the :guilabel:`Customer to Reinvoice` field." +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:55 +msgid "Next, select the :guilabel:`Analytic Distribution` the expense is posted to. The options available are pulled from the **Projects** app." msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:54 -msgid "Next, select the :guilabel:`Analytic Distribution` the expense is posted to. Multiple accounts can be selected, if desired." +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:58 +msgid "Multiple projects can be selected, if desired. To add another :guilabel:`Analytic Distribution`, click on the line to reveal the :guilabel:`Analytic` pop-over window. Click :guilabel:`Add a line`, then select the desired :guilabel:`Analytic Distribution` from the drop-down menu." msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:57 -msgid "To add another :guilabel:`Analytic Distribution`, click on the line to reveal the :guilabel:`Analytic` pop-over window. Click :guilabel:`Add a line`, then select the desired :guilabel:`Analytic Distribution` from the drop-down field. If selecting more than one :guilabel:`Analytic Distribution`, the :guilabel:`Percentage` fields **must** be modified. By default, both fields are populated with `100%`. Adjust the percentages for all the fields, so the total of all selected accounts equals `100%`." +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:-1 +msgid "An expense entry to reinvoice a project to the customer, for the gallery seating project." msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:65 -msgid "A painting company agrees to paint an office building that houses two different companies. During the estimate, a meeting is held at the office location to discuss the project." +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:66 +msgid "If selecting more than one :guilabel:`Analytic Distribution`, the :guilabel:`Percentage` fields **must** be modified. Both fields are populated with `100%`, by default. Adjust the percentages for all the fields, so the total of all selected accounts equals `100%`." msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:68 -msgid "Both companies agree to pay for the travel expenses for the painting company employees. When creating the expenses for the mileage and hotels, **both companies** are listed in the :guilabel:`Analytic Distribution` line, for 50% each." +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:71 +msgid "A furniture company is building seating for two different locations for one client. The client agrees to pay for all travel expenses for site visits related to these two projects. The furniture company plans one trip to visit *both* locations." msgstr "" #: ../../content/applications/finance/expenses/reinvoice_expenses.rst:75 +msgid "When creating the expenses for travel expenses, **both projects** are listed in the :guilabel:`Analytic Distribution` line, for 50% each." +msgstr "" + +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:81 msgid "Create an expense report" msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:77 +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:83 msgid "After the expenses are created, the expense report must be :ref:`created ` and :ref:`submitted `, in the same manner as all other expenses." msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:80 +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:86 msgid "Once the expense report is submitted, a :icon:`fa-money` :guilabel:`Sales Orders` smart button appears at the top-center of both the expense report, and each individual expense record being reinvoiced." msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:-1 -msgid "Ensure the customer to be invoiced is called out on the expense." -msgstr "" - -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:89 +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:91 msgid "Selecting the proper :abbr:`SO (Sales Order)` in the :guilabel:`Customer to Reinvoice` field is **critical**, since this is how expenses are automatically invoiced after an expense report is approved." msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:93 +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:95 msgid "The :guilabel:`Customer to Reinvoice` field can be modified *only* until an expense report is **approved**. After an expense report is approved, the :guilabel:`Customer to Reinvoice` field is no longer able to be modified." msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:100 -msgid "Approve and post expenses" +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:-1 +msgid "An expense report with a sales order smart button for reinvoicing." msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:102 -msgid "Before :doc:`approving an expense report <../expenses/approve_expenses>`, ensure the :guilabel:`Analytic Distribution` section is populated for every expense line." +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:105 +msgid "Approve and post expenses" msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:105 -msgid "If an :guilabel:`Analytic Distribution` entry is missing, assign the correct accounts from the drop-down menu, then click :guilabel:`Approve`." +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:107 +msgid "Before :doc:`approving an expense report <../expenses/approve_expenses>`, ensure the :guilabel:`Analytic Distribution` section is populated for every relevant expense line." msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:-1 -msgid "The expense report with all the Analytic Distribution lines populated." +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:110 +msgid "If an :guilabel:`Analytic Distribution` entry is missing, assign the correct accounts from the drop-down menu, then click :guilabel:`Approve`." msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:113 +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:114 msgid "The :guilabel:`Approve` button **only** appears after an expense report has been :ref:`submitted `." msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:116 +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:117 msgid "The accounting department is typically responsible for :doc:`posting journal entries <../expenses/post_expenses>`. To post expenses to an accounting journal, click :guilabel:`Post Journal Entries`. Once an expense report is approved, it can then be posted." msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:120 +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:121 msgid "The :abbr:`SO (Sales Order)` is **only** updated *after* the journal entries are posted. Once the journal entries are posted, the expenses now appear on the referenced :abbr:`SO (Sales Order)`." msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:126 +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:127 msgid "Invoice expenses" msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:128 +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:129 msgid "After the expense report has been approved, and the journal entries have been posted, the :abbr:`SO (Sales Order)` is updated, and the customer can be invoiced." msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:131 -msgid "Select the expense report, and click the :icon:`fa-money` :guilabel:`Sales Orders` smart button to open the :abbr:`SO (Sales Order)`. The expenses to be re-invoiced now appear on the :abbr:`SO (Sales Order)`." +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:132 +msgid "Navigate to the expense report, and click the :icon:`fa-money` :guilabel:`Sales Orders` smart button to open the :abbr:`SO (Sales Order)`. The expenses to be reinvoiced now appear on the :abbr:`SO (Sales Order)`." msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:136 +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:137 msgid "More than one :abbr:`SO (Sales Order)` can be referenced on an expense report. If more than one :abbr:`SO (Sales Order)` is referenced, clicking the :guilabel:`Sales Orders` smart button opens a list displaying all the :abbr:`SOs (Sales Order)` associated with that expense report. Click on a :abbr:`SO (Sales Order)` to open the individual :abbr:`SO (Sales Order)` details." msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:141 +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:142 msgid "The expenses are listed in the :abbr:`SO (Sales Order)` :guilabel:`Order Lines` tab." msgstr "" +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:144 +msgid "Next, click :guilabel:`Create Invoice`, and a :guilabel:`Create invoices` pop-up window appears. Select if the invoice is a :guilabel:`Regular invoice`, a :guilabel:`Down payment (percentage)`, or a :guilabel:`Down payment (fixed amount)`. Then, click :guilabel:`Create Draft`. Doing so creates a draft invoice for the customer. Click :guilabel:`Confirm` to confirm the invoice, and the customer is invoiced for the expenses." +msgstr "" + #: ../../content/applications/finance/expenses/reinvoice_expenses.rst:-1 msgid "See the expenses listed on the sales order after clicking into it." msgstr "" -#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:147 -msgid "Next, click :guilabel:`Create Invoice`, and a :guilabel:`Create invoices` pop-up window appears. Select if the invoice is a :guilabel:`Regular invoice`, a :guilabel:`Down payment (percentage)`, or a :guilabel:`Down payment (fixed amount)`. Then, click :guilabel:`Create Draft Invoice`. Doing so creates a draft invoice for the customer. Click :guilabel:`Confirm` to confirm the invoice, and the customer is invoiced for the expenses." +#: ../../content/applications/finance/expenses/reinvoice_expenses.rst:154 +msgid ":doc:`../../sales/sales/invoicing`" msgstr "" #: ../../content/applications/finance/fiscal_localizations.rst:5 @@ -16235,14 +17156,6 @@ msgstr "" msgid "Costa Rica" msgstr "" -#: ../../content/applications/finance/fiscal_localizations.rst:70 -msgid "Croatia" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations.rst:71 -msgid "Cyprus" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations.rst:72 msgid "Czech Republic" msgstr "" @@ -16271,18 +17184,10 @@ msgstr "" msgid "Equatorial Guinea" msgstr "" -#: ../../content/applications/finance/fiscal_localizations.rst:79 -msgid "Estonia" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations.rst:80 msgid "Ethiopia" msgstr "" -#: ../../content/applications/finance/fiscal_localizations.rst:81 -msgid "Finland" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations.rst:82 msgid ":doc:`France `" msgstr "" @@ -16299,10 +17204,6 @@ msgstr "" msgid "Guinea" msgstr "" -#: ../../content/applications/finance/fiscal_localizations.rst:86 -msgid "Greece" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations.rst:87 msgid ":doc:`Guatemala `" msgstr "" @@ -16359,14 +17260,6 @@ msgstr "" msgid "Kuwait" msgstr "" -#: ../../content/applications/finance/fiscal_localizations.rst:101 -msgid "Latvia" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations.rst:102 -msgid "Lithuania" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations.rst:103 msgid ":doc:`Luxembourg `" msgstr "" @@ -16375,10 +17268,6 @@ msgstr "" msgid "Mali" msgstr "" -#: ../../content/applications/finance/fiscal_localizations.rst:105 -msgid "Malta" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations.rst:106 msgid "Mauritius" msgstr "" @@ -16443,10 +17332,6 @@ msgstr "" msgid "Poland" msgstr "" -#: ../../content/applications/finance/fiscal_localizations.rst:122 -msgid "Portugal" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations.rst:123 msgid "Qatar" msgstr "" @@ -16475,14 +17360,6 @@ msgstr "" msgid ":doc:`Singapore `" msgstr "" -#: ../../content/applications/finance/fiscal_localizations.rst:130 -msgid "Slovakia" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations.rst:131 -msgid "Slovenia" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations.rst:132 msgid "South Africa" msgstr "" @@ -16586,9 +17463,9 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/argentina.rst:23 #: ../../content/applications/finance/fiscal_localizations/canada.rst:27 #: ../../content/applications/finance/fiscal_localizations/colombia.rst:41 -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:64 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:65 #: ../../content/applications/finance/fiscal_localizations/malaysia.rst:15 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:53 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:52 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:49 msgid "Modules installation" msgstr "" @@ -17947,10 +18824,11 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/colombia.rst:204 #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:121 #: ../../content/applications/finance/fiscal_localizations/egypt.rst:172 +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:60 #: ../../content/applications/finance/fiscal_localizations/malaysia.rst:190 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:348 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:1304 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1740 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1739 #: ../../content/applications/finance/fiscal_localizations/peru.rst:823 #: ../../content/applications/finance/fiscal_localizations/peru.rst:996 msgid "Products" @@ -18123,6 +19001,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/chile.rst:24 #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:34 #: ../../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/mexico.rst:19 #: ../../content/applications/finance/fiscal_localizations/new_zealand.rst:8 @@ -18686,7 +19565,8 @@ msgid "Remittance advice example" msgstr "" #: ../../content/applications/finance/fiscal_localizations/australia.rst:370 -#: ../../content/applications/finance/fiscal_localizations/italy.rst:153 +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:99 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:154 #: ../../content/applications/finance/fiscal_localizations/new_zealand.rst:186 msgid "E-invoicing" msgstr "" @@ -18882,10 +19762,6 @@ msgstr "" msgid "`Stripe.com terminal documentation `_" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/austria.rst:3 -msgid "Austria" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations/austria.rst:10 msgid ":ref:`Install ` the following modules to get all the features of the Austrian localization." msgstr "" @@ -18978,6 +19854,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/italy.rst:41 #: ../../content/applications/finance/fiscal_localizations/malaysia.rst:43 #: ../../content/applications/finance/fiscal_localizations/saudi_arabia.rst:38 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:793 msgid "Company information" msgstr "" @@ -19281,10 +20158,6 @@ msgstr "" msgid "The last month is selected by default in the :guilabel:`Print closing receipts` window. To change it, select :guilabel:`Monthly` or :guilabel:`Yearly`, then click the :icon:`fa-calendar-o` :guilabel:`(calendar)` icon to select the desired month/year." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:3 -msgid "Belgium" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations/belgium.rst:10 msgid "Install the :guilabel:`🇧🇪 Belgium` :ref:`fiscal localization package ` to get all the default accounting features of the Belgian localization, following the :abbr:`IFRS(International Financial Reporting Standards)` rules." msgstr "" @@ -19305,7 +20178,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:126 #: ../../content/applications/finance/fiscal_localizations/chile.rst:377 #: ../../content/applications/finance/fiscal_localizations/romania.rst:83 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:180 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:178 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:222 msgid ":doc:`../accounting/get_started/chart_of_accounts`" msgstr "" @@ -19777,10 +20650,6 @@ msgstr "" msgid "Make sure to :ref:`install ` the :guilabel:`Codaclean` (`l10n_be_codaclean`) module." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:453 -msgid "Connection with Odoo" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations/belgium.rst:455 msgid "To connect Odoo with Codaclean, follow these steps:" msgstr "" @@ -19851,7 +20720,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/belgium.rst:514 #: ../../content/applications/finance/fiscal_localizations/canada.rst:257 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:400 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:394 msgid "Cash discount" msgstr "" @@ -19865,7 +20734,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/belgium.rst:523 #: ../../content/applications/finance/fiscal_localizations/canada.rst:263 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:406 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:400 msgid ":doc:`../accounting/customer_invoices/cash_discounts`" msgstr "" @@ -21026,6 +21895,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/india.rst:133 #: ../../content/applications/finance/fiscal_localizations/india.rst:287 #: ../../content/applications/finance/fiscal_localizations/malaysia.rst:213 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:898 msgid "Workflow" msgstr "" @@ -21204,17 +22074,17 @@ msgid "Enables the printing of payments on pre-printed check paper. Supports the msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:51 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:77 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:76 msgid "`Check on top: Quicken / QuickBooks standard `_" msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:53 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:79 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:78 msgid "`Check on middle: Peachtree standard `_" msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:55 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:81 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:80 msgid "`Check on bottom: ADP standard `_" msgstr "" @@ -21223,37 +22093,36 @@ msgid "The :doc:`chart of accounts (COA) <../accounting/get_started/chart_of_acc msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:67 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:121 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:120 msgid "**Receivable**: the balance of money (or credit) due to the business for goods or services delivered or used, but not yet paid for by customers. |AR| is indicated by the journal code labeled (or beginning) with :guilabel:`1`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:70 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:124 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:123 msgid "**Payable**: the business's short-term obligations owed to its creditors or suppliers, which have not yet been paid. |AP| is indicated by the journal code labeled (or beginning) with :guilabel:`2`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:73 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:127 msgid "**Equity**: the amount of money that would be returned to a company's shareholders if all of the assets were liquidated and all of the company's debt was paid off in the case of liquidation. Equity is indicated by the journal code labeled (or beginning) with :guilabel:`3` or :guilabel:`9`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:77 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:131 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:129 msgid "**Assets**: items listed on the balance sheet that contains economic value or have the ability to generate cash flows in the future, such as a piece of machinery, a financial security, or a patent. Assets are indicated by the journal code labeled (or beginning) with :guilabel:`1`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:80 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:134 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:132 msgid "**Liability**: refers to a company's financial debts or obligations that arise during the course of business operations. Liabilities are indicated by the journal code labeled (or beginning) with :guilabel:`2`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:83 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:137 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:135 msgid "**Income**: synonymous with *net income*, this is the profit a company retains after paying off all relevant expenses from sales revenue earned. Income is indicated by the journal code labeled (or beginning) with :guilabel:`4` or :guilabel:`6`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:86 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:140 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:138 msgid "**Expenses**: the cost of operations that a company incurs to generate revenue. Expenses are indicated by the journal code labeled (or beginning) with a :guilabel:`6`." msgstr "" @@ -21262,17 +22131,17 @@ msgid "Predefined accounts are included in Odoo, as part of the |COA| that's ins msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:99 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:153 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:151 msgid ":guilabel:`Type`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:100 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:154 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:152 msgid ":guilabel:`Account Name`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:101 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:155 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:153 msgid ":guilabel:`Current Assets`" msgstr "" @@ -21317,7 +22186,7 @@ msgid ":guilabel:`Cost of Production`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:110 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:164 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:162 msgid ":guilabel:`Income`" msgstr "" @@ -21337,7 +22206,7 @@ msgid ":guilabel:`Cash Discount Gain`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:114 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:168 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:166 msgid ":guilabel:`Expenses`" msgstr "" @@ -21357,37 +22226,37 @@ msgid ":guilabel:`Cash Difference Loss`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:118 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:172 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:170 msgid ":guilabel:`Current Year Earnings`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:119 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:173 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:171 msgid ":guilabel:`Undistributed Profits/Losses`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:120 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:174 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:172 msgid ":guilabel:`Receivable`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:121 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:175 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:173 msgid ":guilabel:`Account Receivable`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:122 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:176 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:174 msgid ":guilabel:`Payable`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:123 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:177 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:175 msgid ":guilabel:`Account Payable`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:127 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:181 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:179 msgid ":doc:`../accounting/get_started/cheat_sheet`" msgstr "" @@ -21504,7 +22373,7 @@ msgid "In Canada, tax rates and what is considered taxable vary by province and msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:190 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:244 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:241 msgid "AvaTax" msgstr "" @@ -21517,27 +22386,27 @@ msgid "AvaTax is available for integration with databases/companies that have lo msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:202 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:256 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:253 msgid "Refer to the documentation articles below to integrate and configure an AvaTax account with an Odoo database:" msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:205 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:259 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:256 msgid ":doc:`AvaTax integration <../accounting/taxes/avatax>`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:206 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:260 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:257 msgid ":doc:`Avalara management portal <../accounting/taxes/avatax/avalara_portal>`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:207 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:261 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:258 msgid ":doc:`Calculate taxes with AvaTax <../accounting/taxes/avatax/avatax_use>`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:208 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:264 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:261 msgid "Avalara's support documents: `About AvaTax `_" msgstr "" @@ -21546,7 +22415,7 @@ msgid "A number of :doc:`report selections <../accounting/reporting>` are readil msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:219 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:275 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:272 msgid ":ref:`Balance Sheet `: a \"snapshot\" of a company's financial position at a specific point in time, which contains an overview of a company's assets, liabilities, and equity." msgstr "" @@ -21559,7 +22428,7 @@ msgid "Balance sheet report selection for CA localization in Odoo." msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:229 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:278 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:275 msgid ":ref:`Profit & Loss `: otherwise known as a *P&L statement* or *income statement*, provides a summary of a company's revenues, expenses, and profits/losses over a given period of time." msgstr "" @@ -21576,33 +22445,33 @@ msgid ":guilabel:`Cash Flow Statement`: shows how much cash and cash equivalents msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:241 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:283 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:280 msgid ":ref:`Executive Summary `: an overview report that covers the key performance indicators of a company's financial position, such as revenue, profit, and debt." msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:244 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:286 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:283 msgid ":ref:`Tax Report `: an official form filed for a tax authority that reports income, expenses, and other pertinent tax information. Tax reports allow taxpayers to calculate their tax liability, schedule tax payments, or request refunds for the overpayment of taxes. In Odoo, the tax report can be made monthly, every two months, quarterly, every 4 months, semi-annually, and annually." msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:251 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:331 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:327 msgid ":doc:`Accounting reporting <../accounting/reporting>`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:252 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:229 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:332 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:226 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:328 msgid ":doc:`../../essentials/search`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:259 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:402 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:396 msgid "Cash discounts can be configured from :menuselection:`Accounting app --> Payment Terms`. Each payment term can be set up with a cash discount and reduced tax." msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:266 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:411 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:405 msgid "Writing checks" msgstr "" @@ -21611,7 +22480,7 @@ msgid "The Canadian localization allows users to print checks for vendor payment msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:272 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:416 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:410 msgid "To enable check printing from Odoo, navigate to :menuselection:`Accounting --> Configuration --> Settings` and find the :guilabel:`Vendor Payments` section. From here, tick the :guilabel:`Checks` checkbox to reveal several fields for check configuration." msgstr "" @@ -21632,7 +22501,7 @@ msgid ":guilabel:`Print Check (Bottom) - CA`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:282 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:429 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:423 msgid "Next, choose whether or not to enable the :guilabel:`Multi-Pages Check Stub` checkbox." msgstr "" @@ -21645,7 +22514,7 @@ msgid "Tick the :guilabel:`Print Date Label` checkbox if a date label is require msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:289 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:433 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:427 msgid "Once all check configurations are complete, :guilabel:`Save` the settings." msgstr "" @@ -21654,30 +22523,10 @@ msgid "Some of the check formats may require pre-printed paper from a third part msgstr "" #: ../../content/applications/finance/fiscal_localizations/canada.rst:297 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:449 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:443 msgid ":doc:`../accounting/payments/pay_checks`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/canada.rst:300 -msgid "Receive pre-authorized debits" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/canada.rst:302 -msgid "Pre-authorized debits are a method for receiving payments from customers, where the customer authorizes the business to withdraw funds from their bank account on a recurring basis. This functionality is commonly used for subscriptions, recurring invoices, and other regular payments." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/canada.rst:306 -msgid "In the Odoo Canadian localization, pre-authorized debits are facilitated through an :doc:`integration with Stripe <../payment_providers/stripe>`." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/canada.rst:310 -msgid ":doc:`Setting up payment providers <../payment_providers>`" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/canada.rst:311 -msgid "`Stripe's pre-authorized debit payments documentation `_" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations/chile.rst:3 msgid "Chile" msgstr "" @@ -21793,8 +22642,8 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/chile.rst:72 #: ../../content/applications/finance/fiscal_localizations/germany.rst:271 -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:101 -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:186 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:102 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:192 #: ../../content/applications/finance/fiscal_localizations/india.rst:44 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:86 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:230 @@ -22739,7 +23588,7 @@ msgid "Odoo automatically updates the *DTE Status* every night using a scheduled msgstr "" #: ../../content/applications/finance/fiscal_localizations/chile.rst:801 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1644 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1643 msgid "Delivery guide" msgstr "" @@ -23160,7 +24009,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/chile.rst:1169 #: ../../content/applications/finance/fiscal_localizations/colombia.rst:312 -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:206 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:212 msgid "Electronic invoices" msgstr "" @@ -23501,14 +24350,15 @@ msgid "For electronic invoicing configurations using the Carvajal solution, revi msgstr "" #: ../../content/applications/finance/fiscal_localizations/colombia.rst:186 -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:170 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:176 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:210 msgid "Master data" msgstr "" #: ../../content/applications/finance/fiscal_localizations/colombia.rst:191 #: ../../content/applications/finance/fiscal_localizations/france.rst:406 -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:182 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:188 +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:47 #: ../../content/applications/finance/fiscal_localizations/malaysia.rst:176 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:188 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:1270 @@ -23720,7 +24570,7 @@ msgid "For example, format the sequence from `SETP/2024/00001` to `SETP1`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/colombia.rst:354 -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:221 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:227 msgid "When done, click :guilabel:`Confirm`." msgstr "" @@ -23733,7 +24583,7 @@ msgid "After the :ref:`invoice confirmation ` enables the following:" msgstr "" @@ -25382,6 +26237,7 @@ 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 @@ -25618,10 +26474,6 @@ msgstr "" msgid "Creating a new thumb drive for the e-invoicing of an egyptian company." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/france.rst:3 -msgid "France" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations/france.rst:10 msgid "The following modules related to the French localization are available:" msgstr "" @@ -25912,6 +26764,7 @@ msgid "Use" msgstr "" #: ../../content/applications/finance/fiscal_localizations/france.rst:207 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:883 msgid "Format" msgstr "" @@ -26871,10 +27724,6 @@ msgstr "" msgid "Odoo is not responsible for any issues with this module's functionality if caused by uncertified third-party applications." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/germany.rst:3 -msgid "Germany" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations/germany.rst:11 msgid "Both SKR03 and SKR04 charts of accounts are supported in Odoo. When you create a new Odoo Online database, SKR03 is installed by default." msgstr "" @@ -27350,89 +28199,90 @@ msgid ":guilabel:`FACT-Factura with Export Complement`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/guatemala.rst:29 -msgid "The localization requires an `Infile `_ account, which enables users to generate electronic documents within Odoo." +msgid "The localization requires an `Infile `_ account, which enables users to generate electronic documents within Odoo. To request an Infile account, fill out the `Infile Registration Form `_." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:33 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:34 msgid ":doc:`Documentation on e-invoicing's legality and compliance in Guatemala <../accounting/customer_invoices/electronic_invoicing/guatemala>`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:37 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:38 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:33 msgid "Glossary" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:39 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:40 msgid "The following terms are used throughout the Guatemalan localization:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:41 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:42 msgid "**SAT**: *Superintendencia de Administración Tributaria* is the government entity responsible for enforcing tax payments in Guatemala." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:43 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:44 msgid "**FEL**: *Factura Electrónica en Línea* is the electronic invoicing system mandated by the SAT in Guatemala, which requires businesses to issue and manage electronic documents in compliance with local regulations." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:46 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:47 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:39 msgid "**EDI**: *Electronic Data Interchange* refers to the sending of electronic documents." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:47 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:48 msgid "**Infile**: is the third-party organization that facilitates the interchange of electronic documents between companies and the Guatemalan government." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:49 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:50 msgid "**UUID**: *Universally Unique Identifier* is a unique alphanumeric code assigned by the SAT to each certified electronic document in the FEL system, used for traceability and official validation." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:52 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:53 msgid "**Phrases**: Type of Phrases with specific Scenario Codes are used in the Guatemalan localization to comply with the requirements of the SAT. They should be added depending on the issuer regime, receiver, and operation type. These phrases are used in the XML and PDF documents." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:55 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:56 msgid "**Establishment Code**: A unique identifier assigned by the SAT to each business establishment, which is required for electronic invoicing." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:57 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:58 msgid "**Quetzal**: The official currency of Guatemala, represented by the symbol GTQ. This is the base currency for all financial transactions in the Guatemalan localization." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:66 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:67 msgid ":ref:`Install ` the following modules to get all the features of the Guatemalan localization:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:76 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:77 msgid ":guilabel:`Guatemala - Accounting`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:77 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:78 msgid "`l10n_gt`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:78 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:79 msgid "The default :doc:`fiscal localization package <../fiscal_localizations>`. It adds accounting characteristics for the Guatemalan localization, which represent the minimum configuration required for a company to operate in Guatemala according to the guidelines set by the |SAT|. The module's installation automatically loads the chart of accounts and taxes." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:82 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:83 msgid ":guilabel:`Guatemala Accounting EDI`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:83 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:84 msgid "`l10n_gt_edi`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:84 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:85 msgid "Includes all the technical and functional requirements to generate and validate :doc:`Electronics Documents <../accounting/customer_invoices/electronic_invoicing>`, based on the technical documentation published by the |SAT|. The authorized documents are :ref:`listed above `." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:90 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:91 msgid "Odoo automatically installs the base module **Guatemala - Accounting** when a database is installed with `Guatemala` selected as the country. However, to enable electronic invoicing, the **Guatemala Accounting EDI** (`l10n_gt_edi`) module needs to be manually :ref:`installed `." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:96 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:97 #: ../../content/applications/finance/fiscal_localizations/india.rst:39 +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:37 #: ../../content/applications/finance/fiscal_localizations/malaysia.rst:136 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:145 #: ../../content/applications/finance/fiscal_localizations/romania.rst:49 @@ -27441,228 +28291,232 @@ msgstr "" msgid "Company" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:98 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:99 #: ../../content/applications/finance/fiscal_localizations/india.rst:41 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:83 msgid "To configure your company information, open the **Settings** app, scroll down to the :guilabel:`Companies` section, click :guilabel:`Update Info`, and configure the following:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:102 -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:187 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:103 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:193 #: ../../content/applications/finance/fiscal_localizations/india.rst:45 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:87 msgid ":guilabel:`Address`, including the :guilabel:`Street`, :guilabel:`City`, :guilabel:`State`, :guilabel:`ZIP`, and :guilabel:`Country`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:104 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:105 msgid ":guilabel:`Tax ID`: Enter the identification number for the selected taxpayer type." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:105 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:106 msgid ":guilabel:`VAT Affiliation`: Select the VAT affiliation for the company, which is the type of Regime the company belongs to." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:107 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:108 msgid ":guilabel:`Legal Name`: The legal name of the company, which is used in the XML and PDF documents." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:108 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:109 msgid ":guilabel:`Establishment Code`: A necessary part of the XML when creating an electronic document. If this field is not set, all electronic documents will be rejected." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:111 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:112 msgid "To locate the :guilabel:`Establishment Code` in your `SAT account `_, go to :menuselection:`FEL --> Administración de Establecimientos`. The list of registered establishments is displayed along with their corresponding codes." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:116 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:117 msgid "After configuring the company in the database settings, navigate to the company's contact form and verify that the :guilabel:`Identification Number` :guilabel:`Type` is set to :guilabel:`NIT`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:120 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:121 msgid "Electronic invoicing credentials" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:122 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:123 msgid "In Guatemala, electronic invoicing is mandatory for most businesses. Odoo connects with the authorized provider, Infile, to generate and submit electronic documents to the |SAT| for validation." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:126 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:127 msgid "Before issuing electronic documents, you must configure and connect Odoo to Infile to ensure they are properly validated and assigned an official |UUID|." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:130 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:131 msgid "Infile" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:132 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:133 msgid "Sign a service agreement directly with `Infile `_. Infile will then provide the necessary credentials to input in Odoo." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:136 -#: ../../content/applications/finance/payment_providers.rst:72 -#: ../../content/applications/finance/payment_providers.rst:90 -#: ../../content/applications/finance/payment_providers.rst:132 -#: ../../content/applications/finance/payment_providers.rst:138 -#: ../../content/applications/finance/payment_providers.rst:144 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:137 +msgid "To create an Infile account and benefit from the **8% discount** available for Odoo customers, fill out the: `Infile Registration Form `_. An Infile agent will contact you to help you complete the onboarding process and sign the service agreement." +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 msgid "Odoo" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:138 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:144 msgid "In Odoo, once you have completed the Infile process, navigate to :menuselection:`Accounting --> Configuration --> Settings`, scroll down to the :guilabel:`Guatemalan Localization` section, then follow these steps:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:142 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:148 msgid "Select the :guilabel:`Infile Web Services` environment, either :guilabel:`Test` or :guilabel:`Production`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:144 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:150 msgid "Enter the :guilabel:`Infile Credentials`:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:146 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:152 msgid ":guilabel:`Infile WS Username or Prefix`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:147 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:153 msgid ":guilabel:`Infile Token`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:148 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:154 msgid ":guilabel:`Infile Key`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:150 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:156 msgid "Click on :guilabel:`Save`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:153 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:159 msgid "The :guilabel:`Infile Credentials` are provided by Infile and are required for both test and production environments. If they are not available, contact Infile support." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:157 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:163 msgid "The demo environment is for testing only and does not generate legal documents, |UUID| keys, or fiscal folios. No Infile account or credentials are needed to use the demo environment." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:161 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:167 msgid "Multi-currency" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:163 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:169 msgid "The official currency exchange rate in Guatemala is provided by the Bank of Guatemala. Odoo can connect directly to its services and get the currency rate either automatically or manually." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:167 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:173 msgid ":doc:`Multi-currencies <../accounting/get_started/multi_currency>`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:175 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:181 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:215 msgid "The :doc:`chart of accounts <../accounting/get_started/chart_of_accounts>` is installed by default as part of the set of data included in the localization module, the accounts are mapped automatically in taxes, default accounts payable, and default accounts receivable." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:179 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:185 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:219 msgid "Accounts can be added or deleted according to the company's needs." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:184 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:190 msgid "The following fields must be completed on contact forms:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:189 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:195 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:239 msgid ":guilabel:`Identification Number`:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:191 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:197 msgid ":guilabel:`Type`: Select an identification type." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:192 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:198 msgid ":guilabel:`Number`: Required to confirm an electronic invoice." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:195 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:201 msgid "To automatically include a specific phrase in the XML and PDF of every electronic invoice for a contact, select it in :guilabel:`Phrases` field in the :guilabel:`Sales & purchase` tab of the contact form." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:202 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:208 msgid "As part of the Guatemala localization module, taxes are automatically created with their configuration and related financial accounts." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:208 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:214 msgid "Once the database has been configured successfully, electronic documents can be created and sent." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:210 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:216 msgid "Once :doc:`customer invoices <../accounting/customer_invoices>` are validated, they can be sent electronically to |SAT| via Infile, provided the following fields are completed:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:213 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:219 msgid ":guilabel:`Customer`: Type the customer's information." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:214 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:220 msgid ":guilabel:`GT Document Type`: Select the type of document you want to create, i.e., :guilabel:`FACT - Factura Electrónica` or :guilabel:`FCAM - Factura Cambiara`. By default, the document type is set to :guilabel:`FACT`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:217 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:223 msgid ":guilabel:`Due date`: To compute if the invoice is due now or later." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:218 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:224 msgid ":guilabel:`Journal`: Select the sales journal." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:219 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:225 msgid ":guilabel:`Products`: Specify the product(s) with the correct taxes." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:224 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:230 msgid "If you need to add a specific phrase based on the transaction, go to the :guilabel:`Other Info` tab and add the corresponding phrase in :guilabel:`GT Phrases`. These phrases are used in the XML and PDF documents." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:229 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:235 msgid "If you need to add an addendum to the invoice, you can do so in the :guilabel:`Terms and Conditions` field. The addendum will be included in the XML document and can be used to provide additional information or notes related to the invoice." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:233 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:239 msgid "After the invoice confirmation, click :guilabel:`Send`. In the wizard that appears, make sure to enable the :guilabel:`Send to SAT` and :guilabel:`by Email` checkboxes to send the XML to the |SAT| through Infile's web service and the validated invoice to the client's email, and click :guilabel:`Send`. Then, the following occurs:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:239 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:245 msgid "The |UUID| is generated." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:240 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:246 msgid "The XML is processed synchronously by Infile." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:242 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:248 msgid "If accepted, the file is displayed in the chatter, and the email to the client with the corresponding :file:`pdf` and :file:`xml` file is sent." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:244 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:250 msgid "If the file contains errors, a warning message displays the reason(s) and the email is not sent." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:249 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:255 msgid "The :guilabel:`SAT` tab then displays the following:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:251 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:257 msgid ":guilabel:`Datetime`: Timestamp recorded of the XML creation." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:252 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:258 msgid ":guilabel:`GT Status`: Status result obtained in the |SAT| response. If the file contains errors, a warning message displays the reason(s) and the email is not sent." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:254 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:260 msgid ":guilabel:`UUID`: The unique identifier assigned by the |SAT| to the electronic document." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:255 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:261 msgid ":guilabel:`Download Certificate`: To download the sent XML file, even if the |SAT| result was rejected." msgstr "" @@ -27670,49 +28524,49 @@ msgstr "" msgid "EDI document record available in SAT tab." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:264 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:270 #: ../../content/applications/finance/fiscal_localizations/jordan.rst:231 msgid "Debit and credit notes" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:266 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:272 msgid "To send a debit or credit note to Infile, first create the :ref:`debit ` or :ref:`credit note `." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:270 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:276 msgid "Then, in the :guilabel:`Send` window, click :guilabel:`Send to SAT (Guatemalan EDI)` to submit it for real-time validation. Upon successful validation, the QR code from Infile is embedded in the debit or credit note PDF." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:275 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:281 #: ../../content/applications/finance/fiscal_localizations/peru.rst:553 msgid "Export invoices" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:277 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:283 msgid "Exportation invoices must meet the following conditions:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:279 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:285 msgid "The customer's :guilabel:`Identification type` must be :guilabel:`VAT`, :guilabel:`Passport`, or :guilabel:`Foreign ID`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:281 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:287 msgid "The following fields must be defined in the customer invoice's :guilabel:`Other Info` tab, under the :guilabel:`Accounting` section:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:284 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:290 msgid ":guilabel:`Incoterm`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:285 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:291 msgid ":guilabel:`GT Phrases`: :guilabel:`Type 4 Code 1`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:286 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:292 msgid ":guilabel:`Consignatory Company`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:288 +#: ../../content/applications/finance/fiscal_localizations/guatemala.rst:294 msgid "All invoice lines must include taxes set to 0%." msgstr "" @@ -27786,7 +28640,7 @@ msgid ":abbr:`FPS (Faster Payment System)` is a payment service platform that al msgstr "" #: ../../content/applications/finance/fiscal_localizations/hong_kong.rst:40 -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:143 +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:156 #: ../../content/applications/finance/fiscal_localizations/singapore.rst:12 #: ../../content/applications/finance/fiscal_localizations/thailand.rst:125 msgid "Activate QR codes" @@ -27828,7 +28682,7 @@ msgid "You could also include the invoice number in the QR code by checking the msgstr "" #: ../../content/applications/finance/fiscal_localizations/hong_kong.rst:67 -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:162 +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:177 #: ../../content/applications/finance/fiscal_localizations/singapore.rst:34 #: ../../content/applications/finance/fiscal_localizations/thailand.rst:145 #: ../../content/applications/finance/fiscal_localizations/vietnam.rst:262 @@ -27836,7 +28690,7 @@ msgid ":doc:`../accounting/bank`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/hong_kong.rst:70 -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:165 +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:182 #: ../../content/applications/finance/fiscal_localizations/indonesia.rst:-1 #: ../../content/applications/finance/fiscal_localizations/singapore.rst:37 #: ../../content/applications/finance/fiscal_localizations/thailand.rst:148 @@ -28032,6 +28886,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/india.rst:279 #: ../../content/applications/finance/fiscal_localizations/malaysia.rst:131 #: ../../content/applications/finance/payment_providers/paypal.rst:42 +#: ../../content/applications/finance/payment_providers/redsys.rst:35 msgid "Configuration in Odoo" msgstr "" @@ -28849,176 +29704,194 @@ msgstr "" msgid "Indonesia" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:8 -msgid "E-Faktur Module" +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:10 +msgid "The following modules related to the Indonesian localization are available:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:10 -msgid "The **E-Faktur Module** is installed by default with the Indonesian localization module. It allows one to generate a CSV file for one tax invoice or for a batch of tax invoices to upload to the **Tax Office e-Faktur** application." +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:19 +msgid ":guilabel:`Indonesian - Accounting`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:17 -msgid "NPWP/NIK settings" +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:20 +msgid "`l10n_id`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:0 -msgid "**Your Company**" +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:21 +msgid "This module includes the default fiscal localization package." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:0 -msgid "This information is used in the FAPR line in the effect file format. You need to set a VAT number on the related partner of your Odoo company. If you don't, it won't be possible to create an e-Faktur from an invoice." +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:22 +msgid ":guilabel:`Indonesia E-faktur`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:0 -msgid "**Your Clients**" +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:23 +msgid "`l10n_id_efaktur`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:0 -msgid "You need to set the checkbox *ID PKP* to generate e-fakturs for a customer. You can use the VAT field on the customer's contact to set the NPWP needed to generate the e-Faktur file. If your customer does not have an NPWP, just enter the NIK in the same VAT field." +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:24 +msgid "This module includes the features required to export invoices as e-Faktur." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:34 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:445 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1500 -msgid "Usage" +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:25 +msgid ":guilabel:`Indonesia E-faktur (Coretax)`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:26 +msgid "`l10n_id_efaktur_coretax`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:27 +msgid "This module facilitates the generation of XML files for the Coretax system." msgstr "" #: ../../content/applications/finance/fiscal_localizations/indonesia.rst:39 -msgid "Generate Tax Invoice Serial Number" +msgid "Open the :guilabel:`Settings` app, go to the :doc:`Companies <../../general/companies>` section, and click :ref:`Update Info `. Ensure the :guilabel:`NPWP` field contains the **Tax Identification Number**, as an e-Faktur cannot be generated from an invoice otherwise." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:41 -msgid "Go to :menuselection:`Accounting --> Customers --> e-Faktur`. In order to be able to export customer invoices as e-Faktur for the Indonesian government, you need to put here the ranges of numbers you were assigned by the government. When you validate an invoice, a number will be assigned based on these ranges. Afterwards, you can filter the invoices still to export in the invoices list and click on *Action*, then on *Download e-Faktur*." +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:49 +msgid "To configure a partner for e-Faktur, go to their :doc:`contact <../../essentials/contacts>` form and fill in the following Indonesian-specific fields:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:46 -msgid "After receiving new serial numbers from the Indonesian Revenue Department, you can create a set of tax invoice serial numbers group through this list view. You only have to specify the Min and Max of each serial numbers' group and Odoo will format the number automatically to a 13-digits number, as requested by the Indonesia Tax Revenue Department." +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:52 +msgid ":guilabel:`Is PKP`: Check this box to allow e-Faktur generation for the partner." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:50 -msgid "There is a counter to inform you how many unused numbers are left in that group." +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:53 +msgid ":guilabel:`NPWP`: Enter the partner's Tax Identification Number." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:58 -msgid "Generate e-faktur csv for a single invoice or a batch invoices" +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:54 +msgid ":guilabel:`NIK`: If the partner does not have an :guilabel:`NPWP`, enter the :guilabel:`NIK` in the :guilabel:`Accounting` tab under :guilabel:`Indonesian taxes`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:60 -msgid "Create an invoice from :menuselection:`Accounting --> Customers --> Invoices`. If the invoice customer's country is Indonesia and the customer is set as *ID PKP*, Odoo will allow you to create an e-Faktur." +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:62 +msgid "To set a product's E-Faktur product code, go to :menuselection:`Accounting --> Customers --> Products` and access the desired product form. In the :guilabel:`Indonesian Localization` section, select a code in the :guilabel:`E-Faktur Product code` field. By default, the code is set to :guilabel:`000000 - Barang`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:63 -msgid "Set a Kode Transaksi for the e-Faktur. There are constraints related to the Kode transaksi and the type of VAT applied to invoice lines." +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:-1 +msgid "Product with the E-Faktur Product Code." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:69 -msgid "Odoo will automatically pick the next available serial number from the e-Faktur number table (see the :ref:`section above `) and generate the e-faktur number as a concatenation of Kode Transaksi and serial number. You can see this from the invoice form view under the page *Extra Info* in the box *Electronic Tax*." +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:71 +msgid ":guilabel:`E-Faktur product codes` are pre-generated by Odoo and cannot be edited. Select a code from the available options." msgstr "" #: ../../content/applications/finance/fiscal_localizations/indonesia.rst:77 -msgid "Once the invoice is posted, you can generate and download the e-Faktur from the *Action* menu item *Download e-faktur*. The checkbox *CSV created* will be set." +msgid "E-Faktur UoM Code" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:80 +msgid "Go to :menuselection:`Inventory --> Configuration --> Settings` to make sure the :guilabel:`Units of Measure` option has been enabled." msgstr "" #: ../../content/applications/finance/fiscal_localizations/indonesia.rst:83 -msgid "You can select multiple invoices in list view and generate a batch e-Faktur .csv." +msgid "To configure the :guilabel:`E-Faktur UoM code`, go to :menuselection:`Inventory --> Configuration --> UoM Categories`. Open a category and select the appropriate :guilabel:`E-Faktur UoM Code` from the options." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:88 -msgid "Kode Transaksi FP (Transaction Code)" +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:-1 +msgid "E-Faktur UoM." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:90 -msgid "The following codes are available when generating an e-Faktur. - 01 Kepada Pihak yang Bukan Pemungut PPN (Customer Biasa) - 02 Kepada Pemungut Bendaharawan (Dinas Kepemerintahan) - 03 Kepada Pemungut Selain Bendaharawan (BUMN) - 04 DPP Nilai Lain (PPN 1%) - 06 Penyerahan Lainnya (Turis Asing) - 07 Penyerahan yang PPN-nya Tidak Dipungut (Kawasan Ekonomi Khusus/ Batam) - 08 Penyerahan yang PPN-nya Dibebaskan (Impor Barang Tertentu) - 09 Penyerahan Aktiva (Pasal 16D UU PPN)" +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:104 +msgid "Generate an E-Faktur XML" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:103 -msgid "Correct an invoice that has been posted and downloaded: Replace Invoice feature" +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:106 +msgid "An e-Faktur can be created for an invoice if the customer's country is Indonesia and the :guilabel:`Is PKP` checkbox is enabled on their :ref:`contact ` form." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:105 -msgid "Cancel the original wrong invoice in Odoo. For instance, we will change the Kode Transakski from 01 to 03 for the INV/2020/0001." +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:110 +msgid "To generate an e-Faktur XML:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:107 -msgid "Create a new invoice and set the cancelled invoice in the *Replace Invoice* field. In this field, we can only select invoices in *Cancel* state from the same customer." +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:112 +msgid "Go to :menuselection:`Accounting --> Customers --> Invoices` and :ref:`create an invoice `." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:109 -msgid "As you validate, Odoo will automatically use the same e-Faktur serial number as the cancelled and replaced invoice replacing the third digit of the original serial number with *1* (as requested to upload a replacement invoice in the e-Faktur app)." +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:115 +msgid "In the :guilabel:`Other Info` tab, under the :guilabel:`Electronic Tax` section, select a :guilabel:`Kode Transaksi` code." msgstr "" #: ../../content/applications/finance/fiscal_localizations/indonesia.rst:119 -msgid "Correct an invoice that has been posted but not downloaded yet: Reset e-Faktur" +msgid "The :guilabel:`Kode Transaksi` codes are pre-generated by Odoo and cannot be edited." msgstr "" #: ../../content/applications/finance/fiscal_localizations/indonesia.rst:121 -msgid "Reset the invoice to draft and cancel it." +msgid "After confirming the invoice, click the :icon:`fa-cog` :guilabel:`(Actions)` icon and select :guilabel:`Download e-faktur`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:122 -msgid "Click on the button *Reset e-Faktur* on the invoice form view." +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:124 +msgid "The downloaded XML file can then be uploaded to the Coretax system. After the file is generated, the :guilabel:`e-Faktur Document (Coretax)` field in the invoice's :guilabel:`Electronic Tax` section is populated automatically." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:123 -msgid "The serial number will be unassigned, and we will be able to reset the invoice to draft, edit it and re-assign a new serial number." +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:0 +msgid "Invoice with E-Faktur Document." msgstr "" #: ../../content/applications/finance/fiscal_localizations/indonesia.rst:132 +msgid "To create a batch XML file for several invoices, select them in the invoice list view and choose :guilabel:`Download e-faktur` from the :guilabel:`Actions` menu." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:136 +msgid "The tax invoice number is generated by the Coretax system, not by Odoo." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:137 +msgid "Once an e-Faktur XML file has been downloaded, it cannot be changed. Any subsequent download will retrieve the original file." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:143 msgid "QRIS QR code on invoices" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:134 +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:145 msgid "`QRIS `_ is a digital payment system that allows customers to make payments by scanning the QR code from their preferred e-wallet." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:138 +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:149 msgid "According to the `QRIS API documentation `_, QRIS expires after 30 minutes. Due to this restriction, the QR code is not included in reports sent to customers and is only available on the customer portal." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:145 +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:158 #: ../../content/applications/finance/fiscal_localizations/singapore.rst:14 #: ../../content/applications/finance/fiscal_localizations/thailand.rst:127 msgid "Go to :menuselection:`Accounting --> Configuration --> Settings`. Under the :guilabel:`Customer Payments` section, activate the :guilabel:`QR Codes` feature." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:149 +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:164 #: ../../content/applications/finance/fiscal_localizations/indonesia.rst:-1 msgid "QRIS bank account configuration" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:151 +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:166 msgid "Go to :menuselection:`Contacts --> Configuration --> Bank Accounts` and select the bank account for which you want to activate QRIS. Set the :guilabel:`QRIS API Key` and :guilabel:`QRIS Merchant ID` based on the information provided by QRIS." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:156 +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:171 msgid "The account holder's country must be set to `Indonesia` on its contact form." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:167 +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:184 #: ../../content/applications/finance/fiscal_localizations/singapore.rst:39 msgid "Go to :menuselection:`Accounting --> Configuration --> Journals`, open the bank journal, then fill out the :guilabel:`Account Number` and :guilabel:`Bank` under the :guilabel:`Journal Entries` tab." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:174 +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:193 msgid "Issue invoices with QRIS QR codes" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:176 -msgid "When creating a new invoice, open the :guilabel:`Other Info` tab and set the :guilabel:`Payment QR-code` option to `QRIS`." +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:195 +msgid "When creating a new invoice, open the :guilabel:`Other Info` tab and set the :guilabel:`Payment QR-code` option to :guilabel:`QRIS`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/indonesia.rst:-1 msgid "Select QRIS QR-code option" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:182 +#: ../../content/applications/finance/fiscal_localizations/indonesia.rst:201 msgid "Ensure that the :guilabel:`Recipient Bank` is the one you configured, as Odoo uses this field to generate the QRIS QR code." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:3 -msgid "Italy" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations/italy.rst:10 msgid ":ref:`Install ` the following modules to get all the features of the Italian localization:" msgstr "" @@ -29182,7 +30055,7 @@ msgid "VAT is due in the country of the delivery or in the country where the ser msgstr "" #: ../../content/applications/finance/fiscal_localizations/italy.rst:114 -#: ../../content/applications/finance/fiscal_localizations/italy.rst:509 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:510 #: ../../content/applications/finance/fiscal_localizations/spain.rst:146 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:203 msgid "Invoices" @@ -29204,51 +30077,47 @@ msgstr "" msgid "When creating a vendor bill, **reverse charge** taxes are available to be added in the :guilabel:`Taxes` field. You can check which taxes are available by going to :menuselection:`Accounting --> Configuration --> Taxes`, you can see that the 10% Goods and 22% Services taxes are activated, among others. Due to the automated configuration of the Italian fiscal position, these are automatically activated in the tax list." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:141 -msgid "Tax grids" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations/italy.rst:143 -msgid "The Italian localization has a specific :ref:`tax grid ` section for **reverse charge** taxes. These tax grids are identifiable by the :ref:`VJ ` tag, and can be found by going to :menuselection:`Accounting --> Reporting --> Audit Reports: Tax Report`." +msgid "The Italian localization has a specific :ref:`tax grid ` section for **reverse charge** taxes. These tax grids are identifiable by the :ref:`VJ ` tag, and can be found by going to :menuselection:`Accounting --> Reporting --> Audit Reports: Tax Report`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/italy.rst:-1 msgid "Reverse charge tax grid from the VJ section of the Tax Declaration" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:155 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:156 msgid "The :abbr:`SdI (Sistema di Interscambio)` is the :doc:`electronic invoicing <../accounting/customer_invoices/electronic_invoicing>` system used in Italy. It enables the sending and receiving of electronic invoices to and from customers. The documents must be in an XML :abbr:`EDI (Electronic Data Interchange)` format called **FatturaPA** and formally validated by the system before being delivered." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:161 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:162 msgid "To be able to receive invoices and notifications, the :abbr:`SdI (Sistema di Interscambio)` service must be notified that the user's files need to be sent to Odoo and processed on their behalf. To do so, you must set up Odoo's :guilabel:`Destination Code` on the :abbr:`AdE (Agenzia Delle Entrate)` portal." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:166 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:167 msgid "Go to `Italian authorities portal `_ and authenticate;" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:168 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:169 msgid "Go to section :menuselection:`Fatture e Corrispettivi`;" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:169 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:170 msgid "Set the user as Legal Party for the VAT number you wish to configure the electronic address;" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:170 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:171 msgid "In :menuselection:`Servizi Disponibili --> Fatturazione Elettronica --> Registrazione dell’indirizzo telematico dove ricevere tutte le fatture elettroniche`, insert Odoo's :guilabel:`Destination Code` `K95IV18`, and confirm." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:175 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:176 msgid "EDI Mode and authorization" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:177 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:178 msgid "Since the files are transmitted through Odoo's server before being sent to the :abbr:`SdI (Sistema di Interscambio)` or received by your database, you need to authorize Odoo to process your files from your database. To do so, go to :menuselection:`Accounting --> Configuration --> Settings --> Electronic Document Invoicing`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:182 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:183 msgid "There are three modes available:" msgstr "" @@ -29276,15 +30145,15 @@ msgstr "" msgid "This is a production mode that sends your invoices directly to the :abbr:`AdE (Agenzia delle Entrate)`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:196 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:197 msgid "Once a mode is selected, you need to accept the **terms and conditions** by ticking :guilabel:`Allow Odoo to process invoices`, and then :guilabel:`Save`. You can now record your transactions in Odoo Accounting." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:201 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:202 msgid "Selecting either :guilabel:`Test (experimental)` or :guilabel:`Official` is **irreversible**. For example, once in :guilabel:`Official` mode, it is not possible to select :guilabel:`Test (experimental)` or :guilabel:`Demo`. We recommend creating a **separate database** for testing purposes only." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:207 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:208 msgid "When in :guilabel:`Test (Experimental)` mode, all invoices sent *must* have a partner using one of the following fake :guilabel:`Destination Code` given by the :abbr:`AdE (Agenzia Delle Entrate)`: `0803HR0` - `N8MIMM9` - `X9XX79Z`. Any real production :guilabel:`Codice Destinario` of your customers will not be recognized as valid by the test service." msgstr "" @@ -29292,16 +30161,16 @@ msgstr "" msgid "Electronic document invoicing settings" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:218 -#: ../../content/applications/finance/fiscal_localizations/italy.rst:591 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:219 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:592 msgid "Process" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:220 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:221 msgid "The submission of invoices to the :abbr:`SdI (Sistema di Interscambio)` for Italy is an electronic process used for the mandatory transmission of tax documents in XML format between companies and the :abbr:`AdE (Agenzia delle Entrate)` to reduce errors and verify the correctness of operations." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:225 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:226 msgid "You can check the current status of an invoice by the :guilabel:`SdI State` field. The XML file is attached to the invoice." msgstr "" @@ -29309,11 +30178,11 @@ msgstr "" msgid "EDI system architecture" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:232 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:233 msgid "XML Documents creation" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:234 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:235 msgid "Odoo generates the required XML files as attachments to invoices in the `FatturaPA` format required by the :abbr:`AdE (Agenzia delle Entrate)`. Once the invoices needed are selected, go to :guilabel:`Action` and click on :guilabel:`Send and Print`." msgstr "" @@ -29321,7 +30190,7 @@ msgstr "" msgid "Send and Print menu" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:241 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:242 msgid "When the pop-up window opens there is a selection of actions that can be taken. :guilabel:`Generate XML File` generates the attachments." msgstr "" @@ -29329,7 +30198,7 @@ msgstr "" msgid "Send and Print dialog" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:247 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:248 msgid "The XML file as well as the PDF once can be found attached to the invoice." msgstr "" @@ -29337,19 +30206,19 @@ msgstr "" msgid "EDI Attachments" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:253 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:254 msgid "Submission to SDI" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:255 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:256 msgid "The :guilabel:`Send to Tax Agency` option in the :guilabel:`Send and Print` dialog sends the attachment to the :guilabel:`Proxy Server`, which gathers all requests and then forwards them via a WebServices channel to the :abbr:`SdI (Sistema di Interscambio)`. Check the sending status of the invoice through the :guilabel:`Check Sending` button at the top of the invoice's view." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:261 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:262 msgid "Processing by SDI" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:263 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:264 msgid "The :abbr:`SdI (Sistema di Interscambio)` receives the document and verifies for any errors. At this stage, the invoice is in the :guilabel:`SdI Processing` state, as shown on the invoice. The invoice also gets assigned a :guilabel:`FatturaPA Transaction` number that is shown in the :guilabel:`Electronic Invoicing` tab. The checks may take variable time, ranging from a few seconds up to a day, depending on the queue of invoices sent throughout Italy." msgstr "" @@ -29357,31 +30226,31 @@ msgstr "" msgid "Check Sending button and Sdi Processing state" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:273 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:274 msgid "Acceptance" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:275 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:276 msgid "If the document is valid, it is recorded and considered fiscally valid by the :abbr:`AdE (Agenzia delle Entrate)`, which will proceed with archiving in :guilabel:`Substitute Storage (Conservazione Sostitutiva)` if explicitly requested on the Agency's portal." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:280 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:281 msgid "Odoo does not offer the `Conservazione Sostitutiva `_ requirements. Other providers and :abbr:`AdE (Agenzia delle Entrate)` supply free and certified storage to meet the specifications requested by law." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:285 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:286 msgid "The :abbr:`SdI (Sistema di Interscambio)` :guilabel:`Destination Code` attempts to forward the invoice to the customer at the provided address, whether it is a `PEC` email address or a :abbr:`SdI (Sistema di Interscambio)` :guilabel:`Destination Code` for their ERP's WebServices channels. A maximum of 6 attempts are made every 12 hours, so even if unsuccessful, this process can take up to three days. The invoice status is :guilabel:`Accepted by SDI, Forwarding to Partner`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:292 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:293 msgid "Possible Rejection" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:294 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:295 msgid "The :abbr:`SdI (Sistema di Interscambio)` may find inaccuracies in the compilation, possibly even formal ones. In this case, the invoice is in the :guilabel:`SDI Rejected` state. The :abbr:`SdI (Sistema di Interscambio)`'s observations are inserted at the top of the Invoice tab. To resolve the issue, it is sufficient to delete the attachments of the invoice, return the invoice to :guilabel:`Draft`, and fix the errors. Once the invoice is ready, it can be resent." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:301 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:302 msgid "To regenerate the XML, both the XML attachment and the PDF report must be deleted, so that they are then regenerated together. This ensures that both always contain the same data." msgstr "" @@ -29389,27 +30258,27 @@ msgstr "" msgid "EDI Rejected State" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:308 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:309 msgid "Forwarding Completed" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:310 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:311 msgid "The invoice has been delivered to the customer; however, you can still send a copy to the customer in PDF via email or post. Its status is :guilabel:`Accepted by SDI, Delivered to Partner`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:313 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:314 msgid "If the :abbr:`SdI (Sistema di Interscambio)` cannot contact your customer, they may not be registered on the :abbr:`AdE (Agenzia delle Entrate)` portal. In this case, just make sure to send the invoice in PDF via email or by mail. The invoice is then in the :guilabel:`Accepted by SDI, Partner Delivery Failed` state." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:319 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:320 msgid "Tax Integration" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:321 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:322 msgid "When you receive a vendor bill, either from :abbr:`SdI (Sistema di Interscambio)`, from paper or from an imported XML file, the Tax Agency might request that you send some tax information integration back to the :abbr:`SdI (Sistema di Interscambio)`. It happens when a transaction that was tax exempt becomes taxable for any reason." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:327 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:328 msgid "Here is a non-exhaustive list:" msgstr "" @@ -29437,15 +30306,15 @@ msgstr "" msgid "When, as a business owner, you use an asset that you bought for business for personal reasons instead, you have to pay those taxes you originally deducted as a business cost for it." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:340 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:341 msgid "Odoo may detect that your vendor bill can be interpreted as a document of a type that needs tax integration, as detailed in the :ref:`italy/document-types` section." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:344 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:345 msgid "Be sure that you replace the :guilabel:`0% Sale Taxes` on the vendor bill you received with the ones you're supposed to pay to the :abbr:`AdE (Agenzia delle Entrate)`. A button then appears on the top of the single vendor bill form to send them." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:348 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:349 msgid "When clicking on the :guilabel:`Send Tax Integration` button, an XML file of the appropriate :guilabel:`Document Type` is generated, attached to the bill, and sent as for invoices." msgstr "" @@ -29453,518 +30322,518 @@ msgstr "" msgid "EDI Send Tax Integration button" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:357 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:358 #: ../../content/applications/finance/fiscal_localizations/peru.rst:328 msgid "Document Types" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:359 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:360 msgid "The :abbr:`SdI (Sistema di Interscambio)` requires businesses to send customer invoices and other documents through the :abbr:`EDI (Electronic Data Interchange)`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:362 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:363 msgid "The following :guilabel:`Document Type` codes all technically identify different business use cases." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:365 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:366 msgid "TD01 - Invoices" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:367 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:368 msgid "This represents the standard **domestic** scenario for all invoices exchanged through the :abbr:`SdI (Sistema di Interscambio)`. Any invoice that doesn't fall into one of the specific special cases is categorized as a regular invoice, identified by the :guilabel:`Document Type` `TD01`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:372 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:373 msgid "TD02 - Down payments" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:374 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:375 msgid "**Down payment** invoices are imported/exported with a different :guilabel:`Document Type` code `TDO2` than regular invoices. Upon import of the invoice, a regular vendor bill is created." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:377 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:378 msgid "Odoo exports transactions as `TD02` if the following conditions are met:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:379 -#: ../../content/applications/finance/fiscal_localizations/italy.rst:501 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:380 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:502 msgid "It is an invoice;" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:380 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:381 msgid "All invoice lines are related to down payment sales order lines." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:383 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:384 msgid "TD04 - Credit notes" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:385 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:386 msgid "It is the standard scenario for all **credit notes** issued to **domestic** clients, when we need to formally acknowledge that the seller is reducing or cancelling a previously issued invoice, for example, in case of overbilling, incorrect items, or overpayment. Just like invoices, they must be sent to the :abbr:`SdI (Sistema di Interscambio)`, their :guilabel:`Document Type` `TD04`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:391 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:392 msgid "TD07, TD08, TD09 - Simplified Invoicing" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:393 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:394 msgid "Simplified invoices (`TD07`), credit notes (`TD08`), and debit notes (`TD09`) can be used to certify domestic transactions under 400 EUR (VAT included). Its status is the same as that of a regular invoice, but with fewer information requirements." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:397 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:398 msgid "For a simplified invoice to be established, it must include:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:399 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:400 msgid ":guilabel:`Customer Invoice` reference: **unique** numbering sequence with **no gaps**;" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:400 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:401 msgid ":guilabel:`Invoice Date`: issue **date** of the invoice;" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:401 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:402 msgid ":guilabel:`Company Info`: the **seller**'s full credentials (VAT/TIN number, name, full address) under :menuselection:`General Settings --> Companies (section)`;" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:403 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:404 msgid ":guilabel:`VAT`: the **buyer**'s VAT/TIN number (on the partner form);" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:404 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:405 msgid ":guilabel:`Total`: the total **amount** (VAT included) of the invoice." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:406 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:407 msgid "In the :abbr:`EDI (Electronic Data Interchange)`, Odoo exports invoices as simplified if:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:408 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:409 msgid "It is a domestic transaction (i.e., the partner is from Italy);" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:409 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:410 msgid "Your company's **required fields** (:guilabel:`VAT Number` or :guilabel:`Codice Fiscale`, :guilabel:`Fiscal Regime`, and full **address**) are provided;" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:411 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:412 msgid "The partner's address is not fully specified (i.e., it misses the City or the ZipCode);" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:412 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:413 msgid "The total amount of VAT included is **less** than **400 EUR**." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:415 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:416 msgid "The 400 EUR threshold was defined in `the decree of the 10th of May 2019 in the Gazzetta Ufficiale `_. We advise you to check the current official value." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:420 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:421 msgid "TD16 - Internal Reverse Charge" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:422 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:423 msgid "Internal reverse charge transactions (see :ref:`italy/tax-exemption` and :ref:`italy/reverse-charge`) are exported as `TD16` if the following conditions are met:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:425 -#: ../../content/applications/finance/fiscal_localizations/italy.rst:442 -#: ../../content/applications/finance/fiscal_localizations/italy.rst:456 -#: ../../content/applications/finance/fiscal_localizations/italy.rst:474 -#: ../../content/applications/finance/fiscal_localizations/italy.rst:530 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:426 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:443 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:457 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:475 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:531 msgid "It is a vendor bill;" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:426 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:427 msgid "It has at least **one tax** on the invoice lines that targets one of these :ref:`tax grids `: `VJ6`, `VJ7`, `VJ8`, `VJ12`, `VJ13`, `VJ14`, `VJ15`, `VJ16`, `VJ17`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:430 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:431 msgid "TD17 - Buying services from abroad" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:432 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:433 msgid "When buying **services** from **EU** and **non-EU** countries, the foreign *seller* invoices a service with a **VAT-excluded** price, as it is not taxable in Italy. The VAT is paid by the *buyer* in Italy." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:436 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:437 msgid "Within the EU: the *buyer* integrates the invoice received with the **VAT information** due in Italy (i.e., **vendor bill tax integration**);" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:438 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:439 msgid "Non-EU: the *buyer* sends themselves an invoice (i.e., **self-billing**)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:440 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:441 msgid "Odoo exports a transaction as `TD17` if the following conditions are met:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:443 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:444 msgid "It has at least **one tax** on the invoice lines that targets the tax grid :ref:`VJ3 `;" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:445 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:446 msgid "All invoice lines either have :guilabel:`Services` as **products**, or a tax with the :guilabel:`Services` as **tax scope**." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:449 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:450 msgid "TD18 - Buying goods from EU" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:451 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:452 msgid "Invoices issued within the EU follow a **standard format**, therefore only an integration of the existing invoice is required." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:454 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:455 msgid "Odoo exports a transaction as `TD18` if the following conditions are met:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:457 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:458 msgid "The **partner** is from an **EU** country;" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:458 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:459 msgid "It has at least one tax on the invoice lines that targets the tax grid :ref:`VJ9 `;" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:459 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:460 msgid "All invoice lines either have :guilabel:`Consumable` as **products**, or a tax with :guilabel:`Goods` as **tax scope**." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:463 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:464 msgid "TD19 - Buying goods from VAT deposit" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:465 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:466 msgid "Buying **goods** from a **foreign** vendor, but the **goods** are already in **Italy** in a **VAT deposit**." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:468 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:469 msgid "From the EU: the *buyer* integrates the invoice received with the **VAT information** due in Italy (i.e., **vendor bill tax integration**);" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:470 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:471 msgid "Non-EU: the *buyer* sends an invoice to *themselves* (i.e., **self-billing**)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:472 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:473 msgid "Odoo exports a transaction as a `TD19` if the following conditions are met:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:475 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:476 msgid "It has at least one tax on the invoice lines that targets the tax grid :ref:`VJ3 `;" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:476 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:477 msgid "All invoice lines either have :guilabel:`Consumables` as products, or a tax with :guilabel:`Goods` as **tax scope**." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:480 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:481 msgid "TD24 - Deferred invoices" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:482 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:483 msgid "The **deferred invoice** is an invoice that is **issued at a later time** than the sale of goods or the provision of services. A **deferred invoice** has to be issued at the latest within the **15th day** of the month following the delivery covered by the document." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:486 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:487 msgid "It usually is a **summary invoice** containing a list of multiple sales of goods or services carried out in the month. The business is allowed to **group** the sales into **one invoice**, generally issued at the **end of the month** for accounting purposes. Deferred invoices are default for **wholesalers** having recurrent clients." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:491 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:492 msgid "If the goods are transported by a **carrier**, every delivery has an associated **Documento di Transporto (DDT)**, or **Transport Document**. The deferred invoice **must** indicate the details of all the **DDTs** information for better tracing." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:496 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:497 msgid "E-invoicing of deferred invoices requires the `l10n_it_stock_ddt` :ref:`module `. In this case, a dedicated :guilabel:`Document Type` `TD24` is used in the e-invoice." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:499 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:500 msgid "Odoo exports transactions as `TD24` if the following conditions are met:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:502 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:503 msgid "It is associated with deliveries whose **DDTs** have a **different** date than the issue date of the invoice." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:506 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:507 msgid "TD28 - San Marino" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:511 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:512 msgid "San Marino and Italy have special agreements on e-invoicing operations. As such, **invoices** follow the regular **reverse charge** rules. You can use the proper :guilabel:`Document Type` depending on the invoice type: `TD01`, `TD04`, `TD05`, `TD24`, `TD25`. Additional requirements are not enforced by Odoo. However, the user is requested by the **State** to:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:516 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:517 msgid "Select a tax with the :guilabel:`Tax Exemption Kind` set to `N3.3`;" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:517 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:518 msgid "Use the generic :abbr:`SdI (Sistema di Interscambio)` :guilabel:`Destination Code` `2R4GTO8`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:519 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:520 msgid "The invoice is then routed by a dedicated office in San Marino to the correct business." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:522 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:523 msgid "Vendor Bills" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:524 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:525 msgid "When a **paper bill** is received from San Marino, any Italian company **must** submit that invoice to the :abbr:`AdE (Agenzia delle Entrate)` by indicating the e-invoice's :guilabel:`Document Type` field with the special value `TD28`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:528 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:529 msgid "Odoo exports a transaction as `TD28` if the following conditions are met:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:531 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:532 msgid "It has at least one tax on the invoice lines that targets the tax grids :ref:`VJ `;" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:532 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:533 msgid "The **country** of the partner is **San Marino**." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:535 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:536 msgid "Public Administration Businesses (B2G)" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:537 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:538 msgid ":abbr:`PA (Public Administration)` businesses are subjected to more control than private businesses as they handle public money coming from taxpayers. The :abbr:`EDI (Electronic Data Interchange)` process adds some steps to the :ref:`regular one `, as :abbr:`PA (Public Administration)` businesses can **accept** or **refuse** invoices." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:543 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:544 msgid ":abbr:`PA (Public Administration)` businesses have a 6-digit long :guilabel:`Destination Code`, also called :abbr:`CUU (Codice Univoco Ufficio)`, that is **mandatory**, **PEC** address cannot be used in this case." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:548 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:549 msgid "`Complete list of businesses that belong to the Public Administration along with their Destination Code `_" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:552 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:553 msgid "CIG, CUP, DatiOrdineAcquisto" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:554 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:555 msgid "To ensure the effective traceability of payments by public administrations, electronic invoices issued to public administrations must contain:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:557 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:558 msgid "The :abbr:`CIG (Codice Identificativo Gara)`, except in cases of exclusion from traceability obligations provided by law n. 136 of August 13, 2010;" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:559 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:560 msgid "The :abbr:`CUP (Codice Unico di Progetto)`, in case of invoices related to public works." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:561 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:562 msgid "If the XML file requires it, the :abbr:`AdE (Agenzia Delle Entrate)` can *only* proceed payments of electronic invoices when the XML file contains a :abbr:`CIG (Codice Identificativo Gara)` and :abbr:`CUP (Codice Unico di Progetto)`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:566 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:567 msgid "The :abbr:`CUP (Codice Unico di Progetto)` and the :abbr:`CIG (Codice Identificativo Gara)` must be included in one of the `DatiOrdineAcquisto`, `DatiContratto`, `DatiConvenzione`, `DateRicezione`, or `DatiFattureCollegate` XML tags." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:570 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:571 msgid "These correspond to the elements named :guilabel:`CodiceCUP` and :guilabel:`CodiceCIG` of the electronic invoice XML file, whose table can be found on the government `website `_." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:577 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:578 msgid "Split Payment" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:579 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:580 msgid "The :guilabel:`Split Payment` mechanism behaves much like :ref:`italy/reverse-charge`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:582 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:583 msgid "When an Italian company bills a :abbr:`PA (Public Administration)` business - for example, cleaning services for a public building - the :abbr:`PA (Public Administration)` business self-reports the VAT to the Tax Agency themselves, and the vendor just has to select the appropriate tax with the right :guilabel:`Tax Exemption` for their invoice lines." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:587 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:588 msgid "The specific :guilabel:`Scissione dei Pagamenti` fiscal position is available to deal with partners belonging to the :abbr:`PA (Public Administration)`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:596 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:597 msgid "Qualified electronic signature" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:598 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:599 msgid "Invoices and bills intended for the :abbr:`PA (Public Administration)` must include a **qualified electronic signature** when submitted through the :abbr:`SdI (Sistema di Interscambio)`. This signature is automatically applied in the :abbr:`XAdES (XML Advanced Electronic Signature)` format when the invoice's partner has a 6-digit long :guilabel:`Destination Code` (which indicates a :abbr:`PA (Public Administration)` business)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:605 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:606 msgid "When such an invoice is transmitted to the Tax Agency, the generated `.xml` file is signed on the Odoo servers, returned to the database, and attached to the invoice automatically." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:609 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:610 msgid "Acceptance or Refusal" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:611 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:612 msgid "After receiving the invoice through the :abbr:`SdI (Sistema di Interscambio)`, the :abbr:`PA (Public Administration)` business has 15 days to accept the invoice. If it does, then the process ends here. If the :abbr:`PA (Public Administration)` business refuses the invoice, it is still considered valid once it is accepted by the :abbr:`SdI (Sistema di Interscambio)`. You then have to issue a credit note to compensate and send it to the :abbr:`SdI (Sistema di Interscambio)`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:618 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:619 msgid "Expired Terms" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:620 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:621 msgid "If the :abbr:`PA (Public Administration)` business doesn't reply within 15 days, you need to contact the :abbr:`PA (Public Administration)` business directly, sending them both the invoice and the received deadline notification by email. You can make an arrangement with them and manually set the correct :guilabel:`SdI State` on your invoice." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:626 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:627 msgid "Point of Sale fiscal printers" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:629 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:630 msgid "Fiscal printers are distinct from :doc:`ePOS printers `. The IP address for a fiscal printer should not be entered in the ePOS IP address settings." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:633 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:634 msgid "Fiscal regulations mandate using certified RT devices, such as RT printers or RT servers, to ensure compliant sales receipts and secure communication with the Tax Authority. These devices automatically transmit fiscal data daily. RT printers, designed for individual POS terminals, handle transactions, print receipts, and report to the authorities, ensuring data integrity and compliance." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:639 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:640 #: ../../content/applications/finance/fiscal_localizations/saudi_arabia.rst:56 msgid "Simulation mode" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:642 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:643 msgid "Since the simulation mode sends data to the authorities, it should only be enabled at the very start of the printer's configuration process. Once the printer is switched to the production mode, it cannot be reverted to the simulation mode." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:646 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:647 msgid "To test the fiscal printer setup with Odoo, configure the fiscal printer in the simulation mode as follows:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:649 -#: ../../content/applications/finance/fiscal_localizations/italy.rst:678 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:650 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:679 msgid "Make sure the fiscal printer is set to its default state: printer on, start-up cycle complete, and no transaction in progress." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:651 -#: ../../content/applications/finance/fiscal_localizations/italy.rst:680 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:652 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:681 msgid "Type `3333`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:652 -#: ../../content/applications/finance/fiscal_localizations/italy.rst:681 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:653 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:682 msgid "Press :guilabel:`Chiave`. The screen displays :guilabel:`Scelta Funzione`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:653 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:654 msgid "Type `14`. The screen displays :guilabel:`Apprendimento`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:654 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:655 msgid "Type `62`. The screen displays :guilabel:`Simulazione`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:655 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:656 msgid "To turn the :guilabel:`no` into a :guilabel:`si`, press :guilabel:`X`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:656 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:657 msgid "To confirm, press :guilabel:`Contante`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:657 -#: ../../content/applications/finance/fiscal_localizations/italy.rst:686 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:658 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:687 msgid "Press :guilabel:`Chiave`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:659 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:660 msgid "To configure the printer for production, repeat the steps above." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:662 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:663 msgid "To test the printer configuration, the physical device must first be obtained and registered with the relevant authorities." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:666 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:667 msgid "Setting up the printer to work with Odoo" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:668 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:669 msgid "Fiscal printers are meant to work only in the local network. This means the printer and the device running :doc:`Odoo Point of Sale ` must be connected to the same network." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:672 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:673 msgid "Fiscal printers are typically configured to use HTTP by default. To ensure compatibility with Odoo, the settings must be updated to enable HTTPS support on the printer. This can be done using either the EpsonFPWizard configuration software or the keyboard connected to the printer." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:676 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:677 msgid "To set up the fiscal printer using the keyboard, follow these steps:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:682 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:683 msgid "Type `34`. The screen displays :guilabel:`Web Server`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:683 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:684 msgid "Press :guilabel:`Contante` 3 times until the screen displays :guilabel:`Web Server: SSL`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:684 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:685 msgid "To turn the value `0` into a `1`, press :guilabel:`X`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:685 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:686 msgid "To confirm, press :guilabel:`Contante` 3 times." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:688 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:689 msgid "Then, log in to the printer with the device that runs :doc:`Odoo Point of Sale ` so it recognizes the printer's certificate." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:691 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:692 msgid "To approve and install the printer's certificate, follow these steps:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:693 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:694 msgid "Access the printer by opening a web browser and entering `https://` in the address bar. A :guilabel:`Warning: Potential Security Risk Ahead` security message appears." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:695 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:696 msgid "Click :guilabel:`Advanced` to show the certificate approval options." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:696 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:697 msgid "Click :guilabel:`Proceed` to validate the certificate." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:698 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:699 msgid "Then, to ensure :doc:`Odoo Point of Sale ` is configured with the fiscal printer, go to :menuselection:`Point of Sale --> Configuration --> Settings`. In the :guilabel:`Connected Devices` section, add the IP address in the :guilabel:`Italian Fiscal Printer IP address` and enable :guilabel:`Use HTTPS`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:704 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:705 msgid "Ri.Ba. (Ricevuta Bancaria)" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:706 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:707 msgid ":abbr:`Ri.Ba. (Ricevuta Bancaria)` is a payment method widely used in Italy where vendors request payments through their bank, which forwards the request to the customer's own bank and takes responsibility for the collection. This enables payment automation and reduces risks for the vendor." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:710 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:711 msgid "The vendor generally uploads a fixed-format text file with the list of payments to the bank's web portal." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:714 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:715 msgid "Ri.Ba. are exclusively for **domestic payments** in Italy. For recurring international payments, please use `SEPA Direct Debt (SDD) <../accounting/payments/batch_sdd>`_" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:720 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:721 msgid "Check that the `l10n_it_riba` module is :ref:`installed `." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:721 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:722 msgid "Go to :menuselection:`Settings --> Users & Companies --> Companies` and select the company that will use Ri.Ba." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:723 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:724 msgid "Fill out the required :guilabel:`SIA Code`." msgstr "" @@ -29972,43 +30841,43 @@ msgstr "" msgid "The company's SIA code" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:729 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:730 msgid "The :guilabel:`SIA Code` identifies businesses within the Italian banking network and is used to receive money through specific payment methods. It consists of one letter and four digits (e.g., T1234) and can usually be found on the bank's portal or obtained by contacting the bank." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:733 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:734 msgid "Ensure the Company's bank account has an Italian IBAN." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:736 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:737 msgid "How to configure :doc:`Bank Accounts <../accounting/bank>`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:739 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:740 msgid "Accept Ri.Ba. for your invoices" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:741 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:742 msgid "Payments of type :abbr:`Ri.Ba. (Ricevuta Bancaria)` can be registered from the :guilabel:`Invoices` (:menuselection:`Accounting --> Customers --> Invoices`)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:745 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:746 msgid "Make sure that your invoice involves a Partner that has a bank account with an Italian IBAN." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:747 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:748 msgid "Then, all Payments must be grouped in a **Batch Payment**." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:750 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:751 msgid ":doc:`Batch Payments <../accounting/payments>`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:751 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:752 msgid ":doc:`Create a Batch Payment <../accounting/payments/batch>`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/italy.rst:753 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:754 msgid "Once you press the :guilabel:`Validate` button for the Batch Payment, the :abbr:`Ri.Ba. (Ricevuta Bancaria)` file is generated and attached to the Batch Payment, so you can download it and upload it through your bank's web portal." msgstr "" @@ -30868,10 +31737,6 @@ 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:3 -msgid "Luxembourg" -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 "" @@ -31571,7 +32436,7 @@ msgid ":doc:`Mexican Payroll signing and configurations <../../hr/payroll/payrol msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:129 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:564 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:557 msgid "Requirements" msgstr "" @@ -31897,6 +32762,11 @@ msgstr "" msgid "CFDI to public." msgstr "" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:445 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1500 +msgid "Usage" +msgstr "" + #: ../../content/applications/finance/fiscal_localizations/mexico.rst:446 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:1498 msgid "Payment Policy" @@ -33089,7 +33959,7 @@ msgid "Do not confuse this feature with external trade. The customs numbers are msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:1555 -msgid "In order to track the correct customs number for a specific invoice, Odoo uses :doc:`landed costs <../../inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs>`. Go to :menuselection:`Inventory --> Configuration --> Settings`, and in the :guilabel:`Valuation` section, make sure that :guilabel:`Landed Costs` is activated." +msgid "In order to track the correct customs number for a specific invoice, Odoo uses :doc:`landed costs <../../inventory_and_mrp/inventory/inventory_valuation/landed_costs>`. Go to :menuselection:`Inventory --> Configuration --> Settings`, and in the :guilabel:`Valuation` section, make sure that :guilabel:`Landed Costs` is activated." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:1561 @@ -33109,27 +33979,27 @@ msgid ":guilabel:`Invoicing Policy` **must** be set to :guilabel:`Delivered quan msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:1571 -msgid ":doc:`Valuation by lots/serial numbers <../../inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots>` **must** be enabled." +msgid ":doc:`Valuation by lots/serial numbers <../../inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots>` **must** be enabled." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1575 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1574 msgid "This will make the field :guilabel:`Customs invoicing` available on the :guilabel:`Accounting` tab. Enable the field to use customs numbers with this product." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1578 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1577 msgid "It is important to make sure the product has a :guilabel:`Product Category` and has the following configuration:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1581 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1580 msgid ":guilabel:`Costing Method`: Either :guilabel:`FIFO` or :guilabel:`AVCO`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1582 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1581 msgid ":guilabel:`Inventory Valuation`: Either :guilabel:`Periodic` or :guilabel:`Perpetual`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1585 -msgid "The feature works regardless of whether the :doc:`inventory valuation <../../inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation>` is set to either :guilabel:`Periodic (at closing)` or :guilabel:`Perpetual (at invoicing)`." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1584 +msgid "The feature works regardless of whether the :doc:`inventory valuation <../../inventory_and_mrp/inventory/inventory_valuation/cheat_sheet>` is set to either :guilabel:`Periodic (at closing)` or :guilabel:`Perpetual (at invoicing)`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 @@ -33140,27 +34010,27 @@ msgstr "" msgid "Storable product category configuration." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1596 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1595 msgid "Purchase and sales flow" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1598 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1597 msgid "After configuring the product, follow the standard :doc:`purchase flow <../../inventory_and_mrp/purchase>`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1601 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1600 msgid "Create a purchase order from :menuselection:`Purchase --> Orders --> Purchase Order`. Then, confirm the order to display a :guilabel:`Receipt` smart button. Click on the :guilabel:`Receipt` smart button, add the lots or serial numbers and :guilabel:`Validate`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1605 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1604 msgid "Go to :menuselection:`Inventory --> Operations --> Landed Costs`, and create a new record. In the :guilabel:`Transfer`, add the receipt that was just validated, and add the :guilabel:`Customs number`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1610 -msgid "While it is possible to add costs related to the customs number at this stage of the process, it is highly recommended to create a landed cost from a vendor bill from your customs agent. Learn more about :doc:`Landed Costs here <../../inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs>`." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1609 +msgid "While it is possible to add costs related to the customs number at this stage of the process, it is highly recommended to create a landed cost from a vendor bill from your customs agent. Learn more about :doc:`Landed Costs here <../../inventory_and_mrp/inventory/inventory_valuation/landed_costs>`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1616 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1615 msgid "The :guilabel:`Customs number` field is not editable once it is set, and cannot be repeated, however it is possible to fix the number on the lot or serial number later by selecting a different landed cost." msgstr "" @@ -33168,15 +34038,15 @@ msgstr "" msgid "Customs number on a landed costs Inventory record." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1623 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1622 msgid "The customs number assigned to a specific lot or serial number can be found on the its registry on :menuselection:`Inventory --> Products --> Lots/Serial Numbers`. The :guilabel:`L10N Mx Edi Landed Cost` field can be edited at any time to fix any mistakes that could have occurred when registering the landed cost. Editing the :guilabel:`L10N Mx Edi Landed Cost` field automatically updates the :guilabel:`Customs number` and the name of the lot or serial number." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1629 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1628 msgid "Next, create a sales order and confirm it. Click on the :guilabel:`Delivery` smart button that appears, and carefully review the assigned lots/serial numbers to make sure they are the desired values, after that :guilabel:`Validate` the delivery order." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1633 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1632 msgid "Finally, :ref:`create an invoice from the sales order `, and confirm it. The invoice lines are created according to the distribution of the delivery order, in cases where more than one customs number were selected, Odoo will split the invoice lines by quantity and customs numbers." msgstr "" @@ -33184,99 +34054,99 @@ msgstr "" msgid "Customs number on confirmed sales order product." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1646 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1645 msgid "A `Carta Porte `_ is a bill of lading: a document that states the type, quantity, and destination of goods being carried." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1649 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1648 msgid "On July 17th, 2024, version 3.1 of this |CFDI| was implemented for all transportation providers, intermediaries, and owners of goods. Odoo is able to generate a document type \"T\" (Traslado), which, unlike other documents, is created in a delivery order instead of an invoice or payment." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1653 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1652 msgid "Odoo can create XML and PDF files with (or without) ground transport, and can process materials that are treated as *Dangerous Hazards*." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1656 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1655 msgid "In order to print the PDF, the delivery order must be signed by the government and then it can be printed using the :guilabel:`Print Carta Porte` button on the delivery order." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1660 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1659 msgid "The PDF file contains a QR code to verify the CCP code for the authorities." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1662 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1661 msgid "In order to transport goods between warehouses, the logistic route must contain a **Delivery** type of operation." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1666 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1665 msgid ":doc:`Inter-warehouse replenishment <../../inventory_and_mrp/inventory/warehouses_storage/replenishment/resupply_warehouses>`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1670 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1669 msgid "In order to use this feature, the :guilabel:`Mexico - Electronic Delivery Guide` `l10n_mx_edi_stock` module must be installed." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1673 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1672 msgid "Additionally, it is necessary to have the :doc:`Inventory <../../inventory_and_mrp/inventory>` and :doc:`Sales <../../sales/sales>` apps installed." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1677 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1676 msgid "Odoo does not support Carta Porte type document type \"I\" (Ingreso), air, train or marine transport." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1680 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1679 msgid "Consult your accountant first if this feature is needed before doing any modifications." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1685 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1684 msgid "Odoo manages two different types of CFDI type \"T\". Both can be created from either :doc:`incoming shipments or delivery orders <../../inventory_and_mrp/inventory/shipping_receiving/daily_operations>`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1689 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1688 msgid ":guilabel:`No Federal Highways` is used when the :guilabel:`Distance to Destination` is `less than 30 km `_." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1692 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1691 msgid ":guilabel:`Federal Transport` is used when the :guilabel:`Distance to Destination` exceeds 30 km." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1694 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1693 msgid "For No Federal Highways, no other configuration is required beyond the standard requirements of regular invoicing (the |RFC| of the customer, the UNSPSC code, etc.)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1697 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1696 msgid "For *Federal Transport*, several configurations have to be added to contacts, vehicle setups, and products. Those configurations are then included in the XML and PDF files." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1701 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1700 msgid "Contacts and vehicles" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1703 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1702 msgid "Like the external trade feature, the :guilabel:`Address` in both the company and the final customer must be complete. The :guilabel:`ZIP` code, :guilabel:`City`, and :guilabel:`State` must coincide with the `Official SAT Catalog for Carta Porte `_." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1709 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1708 msgid "The :guilabel:`Locality` field is optional for both addresses." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1712 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1711 msgid "The origin address used for the delivery guide is set in :menuselection:`Inventory --> Configuration --> Warehouses`. While this is set as the company address by default, you can change it to your correct warehouse address." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1716 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1715 msgid "This feature requires the use of :doc:`Fleet <../../hr/fleet/new_vehicle>` to manage vehicles. The vehicle setup is managed directly on the vehicle, and all the required fields are only visible after checking the :guilabel:`L10N Mx Is Freight Vehicle` field." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1720 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1719 msgid "Checking the :guilabel:`L10N Mx Is Freight Vehicle` field displays the :guilabel:`MX Parameters` tab where the mandatory fields are required to create a correct delivery guide. Additionally the vehicle **must** contain a :guilabel:`License Plate`, a :guilabel:`Model Year`, and a :guilabel:`Driver`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1725 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1724 msgid "The :guilabel:`Vehicle Plate Number` and :guilabel:`Number Plate` fields must contain between 5 and 7 characters." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1728 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1727 msgid "The main driver of the vehicle is set directly on the :guilabel:`Driver` field, and it is possible to add more vehicle operators in the :guilabel:`Intermediaries` section. The only mandatory fields for driver contacts are the :guilabel:`VAT` and :guilabel:`Operator License`." msgstr "" @@ -33284,77 +34154,77 @@ msgstr "" msgid "Delivery guide vehicle configuration." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1736 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1735 msgid "If the vehicle is rented or more intermediaries are required, it is possible to add them in the :guilabel:`Intermediaries` field." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1742 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1741 msgid "Similar to regular invoicing, all products must have a :guilabel:`UNSPSC category`. In addition to this, there are two extra configurations for products involved in delivery guides:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1745 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1744 msgid "The :guilabel:`Product Type` must be set as :guilabel:`Storable Product` for stock movements to be created." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1747 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1746 msgid "In the :guilabel:`Inventory` tab, the :guilabel:`Weight` field must be more than `0`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1750 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1749 msgid "Creating a delivery guide of a product with the :guilabel:`Weight` set to `0` will trigger an error. As the :guilabel:`Weight` is immediately stored in the delivery order, it is then necessary to return the products and recreate the delivery order (and delivery guide) with the correct values." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1756 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1755 msgid "Sales and inventory flow" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1758 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1757 msgid "To create a delivery guide, first create and confirm a sales order from :menuselection:`Sales --> Sales Order`. Click the :guilabel:`Delivery` smart button that is generated, and :guilabel:`Validate` the transfer." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1762 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1761 msgid "After the status is set to :guilabel:`Done`, you can edit the transfer, and select the :guilabel:`Transport Type` in the :guilabel:`Additional Info` tab." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1765 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1764 msgid "If using the :guilabel:`No Federal Highways` :guilabel:`Transport Type`, save the transfer, and then click :guilabel:`Generate Delivery Guide`. The resulting XML can be found in the chatter." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1769 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1768 msgid "Other than the :guilabel:`UNSPSC` on all products, delivery guides that use :guilabel:`No Federal Highways` do not require any special configuration to be sent to the government, as they are a type \"T\" CFDI with no delivery guide complement." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1773 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1772 msgid "If using the :guilabel:`Federal Transport` :guilabel:`Transport Type`, the :guilabel:`Vehicle Setup` is displayed to be selected. The :guilabel:`Gross vehicle weight` is taken from the :guilabel:`Vehicle setup` configuration where it is possible to add additional :guilabel:`Extra weight` to account for the drivers and luggage." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1779 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1778 msgid "Odoo will calculate the :guilabel:`Gross vehicle weight` with the following formula:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1781 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1780 msgid "Gross vehicle weight = Vehicle weight + (Weight + Extra Weight) / 1000\n" "\n" "" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1784 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1783 msgid "Every delivery requires a value in :guilabel:`Distance to Destination (KM)` greater than `0`. Finally, enter the :guilabel:`Delivery Date` and click :guilabel:`Generate Delivery Guide`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1788 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1787 msgid "By default the :guilabel:`Scheduled Date` is filled and represents the time at which the shipment leaves the warehouse and the :guilabel:`Delivery Date` is the time that the shipment is expected to arrive at its destination. These values are declared in both the XML and PDF." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1793 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1792 msgid "Dangerous hazards" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1795 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1794 msgid "Certain values in the :guilabel:`UNSPSC Category` are considered in the `official SAT catalog `_ as *dangerous hazards*. These categories need additional considerations when creating a delivery guide with :guilabel:`Federal Transport`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1800 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1799 msgid "First, select the product from :menuselection:`Inventory --> Products --> Products`. Then, in the :guilabel:`Accounting` tab, fill the :guilabel:`Hazardous Material Designation Code` and :guilabel:`Hazardous Packaging` fields with the correct code from the |SAT| catalog." msgstr "" @@ -33362,66 +34232,62 @@ msgstr "" msgid "Delivery guide hazardous material product required fields." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1808 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1807 msgid "There exists the possibility that a :guilabel:`UNSPSC Category` may or may not be a dangerous hazard (for example *01010101*). If it is not dangerous, enter `0` in the :guilabel:`Hazardous Material Designation Code` field." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1812 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1811 msgid "In :guilabel:`MX Parameters`, complete the :guilabel:`Environment Insurer` and :guilabel:`Environment Insurance Policy` as well. After this, continue with the regular process to create a delivery guide." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1817 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1816 msgid "Imports and Exports" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1819 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1818 msgid "If your Carta Porte is for international operations (for exports), some additional fields need to be taken into account." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1822 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1821 msgid "First, make sure that all relevant :guilabel:`Products` have the following configuration:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1824 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1823 msgid ":guilabel:`UNSPSC Category` cannot be :guilabel:`01010101 Does not exist in the catalog`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1825 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1824 msgid ":guilabel:`Tariff Fraction` and :guilabel:`UMT Aduana` must be set, similar to the :ref:`external trade ` flow." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1827 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1826 msgid ":guilabel:`Material Type` must be set." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1829 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1828 msgid "Then, when creating a :guilabel:`Delivery Guide` from a delivery or receipt, fill the following fields:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1832 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1831 msgid ":guilabel:`Customs Regimes`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1833 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1832 msgid ":guilabel:`Customs Document Type`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1834 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1833 msgid ":guilabel:`Customs Document Identification`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1836 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1835 msgid "Then, when creating a :guilabel:`Delivery Guide` for a receipt where the :guilabel:`Customs Document Type` is :guilabel:`Customs number`, two new fields appear: :guilabel:`Customs Number` and :guilabel:`Importer`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1841 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1840 msgid "The field :guilabel:`Customs Number` should follow the pattern `xx xx xxxx xxxxxxx`. For example, `15 48 3009 0001235` with **Two** spaces between text." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/netherlands.rst:3 -msgid "Netherlands" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations/netherlands.rst:6 msgid ":doc:`Documentation on e-invoicing’s legality and compliance in the Netherlands <../accounting/customer_invoices/electronic_invoicing/netherlands>`" msgstr "" @@ -33597,7 +34463,7 @@ msgid "Closing the GST report" msgstr "" #: ../../content/applications/finance/fiscal_localizations/new_zealand.rst:140 -msgid "The :ref:`tax return periodicity ` must be set up before submitting the :ref:`tax return ` (**GST report**) to the **IRD**." +msgid "The :ref:`tax return periodicity ` must be set up before submitting the :ref:`tax return ` (**GST report**) to the **IRD**." msgstr "" #: ../../content/applications/finance/fiscal_localizations/new_zealand.rst:144 @@ -33786,7 +34652,7 @@ msgid "`Stripe.com Docs: Terminal `_" msgstr "" #: ../../content/applications/finance/fiscal_localizations/new_zealand.rst:350 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:454 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:448 msgid "Payroll" msgstr "" @@ -34709,7 +35575,7 @@ msgid "The creation of the |GRE| delivery guide in Odoo **must** be sent directl msgstr "" #: ../../content/applications/finance/fiscal_localizations/peru.rst:690 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:476 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:470 msgid "Required information" msgstr "" @@ -35055,7 +35921,7 @@ msgid "After configuring the Peruvian :ref:`electronic invoicing `;" +msgid ":ref:`Client account registration `;" msgstr "" #: ../../content/applications/finance/fiscal_localizations/peru.rst:927 @@ -35147,50 +36013,50 @@ msgid "**Type of existence**: For all products needing |PLE| reporting, go to th msgstr "" #: ../../content/applications/finance/fiscal_localizations/peru.rst:1004 -msgid "**Automatic inventory valuation**: For storable goods (:dfn:`products with tracked inventory`), use :doc:`automatic inventory valuation <../../inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config>`. Once automatic inventory valuation is enabled, this valuation method can be enabled for a product's :ref:`product category `." +msgid "**Automatic inventory valuation**: For storable goods (:dfn:`products with tracked inventory`), use :doc:`automatic inventory valuation <../../inventory_and_mrp/inventory/inventory_valuation/cheat_sheet>`. Once automatic inventory valuation is enabled, this valuation method can be enabled for a product's product category." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:1010 -msgid "**Costing method:** Storable goods must use a :doc:`costing method <../../inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config>` **other** than :guilabel:`Standard Price`, as the journal entries generated from stock moves are used to populate the |PLE| reports." +#: ../../content/applications/finance/fiscal_localizations/peru.rst:1009 +msgid "**Costing method:** Storable goods must use a :doc:`costing method <../../inventory_and_mrp/inventory/inventory_valuation/cheat_sheet>` **other** than :guilabel:`Standard Price`, as the journal entries generated from stock moves are used to populate the |PLE| reports." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:1018 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:1017 msgid "Warehouses" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:1020 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:1019 msgid "When :doc:`setting up a warehouse <../../inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses>`, the :guilabel:`Annex Establishment Code` field must be filled. This code acts as a unique ID for each warehouse and should only be a numeric combination, containing between 4 to 7 digits." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:1028 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:1027 msgid "Inventory transfers" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:1030 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:1029 msgid "Transferring inventory is a key process captured in the |PLE| 12.1 and |PLE| 13.1 reports. :doc:`Inventory transfers <../../inventory_and_mrp/inventory/shipping_receiving/daily_operations>` include both incoming and outgoing shipments." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:1034 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:1033 msgid "When validating an inventory transfer (either on a warehouse receipt or delivery order), select the :guilabel:`Type of Operation (PE)` performed according to |SUNAT|'s table 12 for permanent inventory reporting." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:1039 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:1038 msgid "Generate a .txt file for permanent inventory Kardex reports" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:1041 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:1040 msgid "|PLE| 12.1 and 13.1 come as two separate books. The books need to be downloaded in `.txt` file format from Odoo, and then they should be submitted to the |SUNAT| |PLE| software." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:1044 -msgid "On the :ref:`Inventory Valuation Report `, click the :guilabel:`PLE Reports` button. Then, select the :guilabel:`Period` and choose a report to export: either the :guilabel:`PLE 12.1` or :guilabel:`PLE 13.1`. Odoo generates a `.txt` file for the chosen report." +#: ../../content/applications/finance/fiscal_localizations/peru.rst:1043 +msgid "On the :ref:`Inventory Valuation Report `, click the :guilabel:`PLE Reports` button. Then, select the :guilabel:`Period` and choose a report to export: either the :guilabel:`PLE 12.1` or :guilabel:`PLE 13.1`. Odoo generates a `.txt` file for the chosen report." msgstr "" #: ../../content/applications/finance/fiscal_localizations/peru.rst:-1 msgid "Export Buttons selection" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:1053 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:1052 msgid "Only a download of the report in `.txt` format is available. There is no preview or visualization available within Odoo." msgstr "" @@ -35847,10 +36713,6 @@ msgstr "" msgid "To :ref:`configure the Employment Hero API ` for **Singapore**, use the following value as :guilabel:`Payroll URL`: `HTTPS://apisg.yourpayroll.io/`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/spain.rst:3 -msgid "Spain" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations/spain.rst:8 msgid "Install the 🇪🇸 **Spanish** :doc:`fiscal localization package <../fiscal_localizations>` to get all the default accounting features of the Spanish localization." msgstr "" @@ -37311,7 +38173,7 @@ msgid "Vendor Batch Payment view with generated BACS file." msgstr "" #: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:204 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:757 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:746 msgid ":doc:`../accounting/payments/batch`" msgstr "" @@ -37560,262 +38422,266 @@ msgid "The modules listed below are either for reference only or are optional, a msgstr "" #: ../../content/applications/finance/fiscal_localizations/united_states.rst:43 -msgid "Verify the default package is in use by navigating to :menuselection:`Accounting App --> Settings` and under the :guilabel:`Fiscal Localization` section at the top, look for the `Generic Chart Template` selection to be listed next to the :guilabel:`Package` field label. This chart template includes the necessary settings for the US localization for the Odoo *Accounting* app." +msgid "Verify the default package is in use by navigating to :menuselection:`Accounting App --> Settings` and under the :guilabel:`Fiscal Localization` section at the top, look for the `Generic Chart Template` selection to be listed next to the :guilabel:`Package` field label. This chart template includes the necessary settings for the US localization for the Odoo **Accounting** app." msgstr "" #: ../../content/applications/finance/fiscal_localizations/united_states.rst:0 -msgid "The Generic Chart Template comes pre-configured for the US localization." +msgid "The Generic Chart Template comes preconfigured for the US localization." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:55 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:54 msgid ":ref:`Install ` the following modules to get all the features of the United States localization:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:65 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:64 msgid ":guilabel:`United States - Accounting`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:66 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:65 msgid "`l10n_us`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:67 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:66 msgid "Base accounting module for United States localization." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:68 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:67 msgid ":ref:`US - Accounting Reports `" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:69 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:68 msgid "`l10n_us_reports`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:70 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:69 msgid "Adds United States accounting reports." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:71 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:70 msgid ":guilabel:`US Checks Layout`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:72 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:71 msgid "`l10n_us_check_printing`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:73 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:72 msgid "Enables the printing of payments on pre-printed check paper. Supports the three most common check formats and will work out of the box with the linked checks from `checkdepot.net `_." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:84 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:83 msgid ":ref:`NACHA Payments `" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:85 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:84 msgid "`l10n_us_payment_nacha`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:86 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:85 msgid "Export payments as NACHA files for use in the United States." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:87 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:86 msgid ":ref:`1099 Reporting `" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:88 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:87 msgid "`l10n_us_1099`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:89 -msgid "Export 1099 data for e-filing with a 3rd party." +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:88 +msgid "Export 1099 data for e-filing with a third party." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:90 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:89 msgid ":ref:`Avatax `" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:92 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:91 msgid "Module for the :doc:`AvaTax integration <../accounting/taxes/avatax>` with Odoo." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:93 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:92 msgid ":ref:`United States - Payroll `" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:94 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:93 msgid "`l10n_us_hr_payroll`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:95 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:94 msgid "Includes the necessary rules for United States payroll, including:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:97 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:96 msgid "Employee Details" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:98 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:97 msgid "Employee Contracts" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:99 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:98 msgid "Passport-based Contracts" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:100 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:99 msgid "Allowances/Deductions" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:101 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:100 msgid "Allow Configurations for Basic/Gross/Net Salary" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:102 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:101 msgid "Employee Payslip" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:103 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:102 msgid "Integration with Leaves Management" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:105 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:104 msgid ":ref:`United States - Payroll with Accounting `" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:106 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:105 msgid "`l10n_us_hr_payroll_account`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:107 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:106 msgid "Contains the necessary accounting data for the United States payroll rules." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:108 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:107 msgid ":ref:`United States - Payroll - Export to ADP `" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:109 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:108 msgid "`l10n_us_hr_payroll_adp`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:110 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:109 msgid "Export Work Entries to the ADP payroll software." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:117 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:116 msgid "The :doc:`chart of accounts (COA) <../accounting/get_started/chart_of_accounts>` for the United States localization, in Odoo, follows the standard |GAAP| structure, with accounts grouped into seven main categories, with corresponding numeric values that prefix individual journal entries:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:144 -msgid "Predefined accounts are included in Odoo, as part of the |CoA| that's installed with the US localization package. The accounts listed below are preconfigured to perform certain operations within Odoo. It is recommended to **not** delete these accounts; however, if changes are needed, rename the accounts instead." +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:126 +msgid "**Equity**: the amount of money that is returned to a company's shareholders if all of the assets were liquidated and all of the company's debt was paid off in the case of liquidation. Equity is indicated by the journal code labeled (or beginning) with :guilabel:`3` or :guilabel:`9`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:184 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:142 +msgid "Predefined accounts are included in Odoo, as part of the |CoA| that is installed with the US localization package. The accounts listed below are preconfigured to perform certain operations within Odoo. It is recommended to **not** delete these accounts; however, if changes are needed, rename the accounts instead." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:182 msgid "View, edit, and sort accounts" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:186 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:184 msgid "Access the *Chart of Accounts* dashboard in Odoo by navigating to :menuselection:`Accounting app --> Configuration --> Accounting: Chart of Accounts`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:189 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:187 msgid "From the :guilabel:`Chart of Accounts` dashboard, create new accounts by clicking the :guilabel:`New` button in the top-left corner of the dashboard and :ref:`filling in the corresponding form `. Search and sort through existing accounts by using specific :guilabel:`Filters` and :guilabel:`Group By` criteria, which are available in the search drop-down menu." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:195 -msgid "To filter accounts by category, click the :icon:`fa-caret-down` :guilabel:`(caret down)` icon to access the drop-down menu and look under the :guilabel:`Filters` column for individual selections. Clicking on a specific category will only show accounts that match that particular filter." +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:193 +msgid "To filter accounts by category, click the :icon:`fa-caret-down` :guilabel:`(dropdown)` icon to access the drop-down menu and look under the :guilabel:`Filters` column for individual selections. Clicking on a specific category will only show accounts that match that particular filter." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:199 -msgid "To view all the available account types, remove all of the filters in the search bar, and then click the :icon:`fa-caret-down` :guilabel:`(caret down)` icon to access the drop-down menu. From there, select :guilabel:`Account Type` under the :guilabel:`Group By` column heading to list all of the account types in the table." +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:197 +msgid "To view all the available account types, remove all of the filters in the search bar, and then click the :icon:`fa-caret-down` :guilabel:`(dropdown)` icon to access the drop-down menu. From there, select :guilabel:`Account Type` under the :guilabel:`Group By` column heading to list all of the account types in the table." msgstr "" #: ../../content/applications/finance/fiscal_localizations/united_states.rst:-1 msgid "Chart of Accounts grouped by Account Type." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:208 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:205 msgid "Besides structure, there are other key differences in the chart of accounts in the United States, compared to other countries:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:211 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:208 msgid "**Specificity**: US |GAAP| often requires more detailed accounts compared to some other countries. This can include separate accounts for various types of revenue, expenses, and assets, providing more granular information in financial reports." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:214 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:211 msgid "**Regulatory Requirements**: In the United States, there are specific regulatory requirements set by bodies such as the |SEC| for publicly traded companies. These requirements may influence the structure and content of the |COA| to ensure compliance with reporting standards." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:217 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:214 msgid "**Industry Practices**: Certain industries in the United States may have unique accounting requirements or specialized |COA| structures. For example, financial institutions often have specific accounts related to loans, investments, and interest income." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:220 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:217 msgid "**Tax Considerations**: The |COA| may also reflect tax considerations, such as accounts for deductible expenses, deferred tax assets, and liabilities, to ensure compliance with tax laws and facilitate tax reporting." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:224 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:221 msgid "These differences, ultimately, should be reflected in the |COA| structure itself, with the addition of new accounts, as needed, in order to meet the demands of US accounting reporting requirements." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:228 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:225 msgid ":ref:`Create a new account `" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:236 -msgid "In the United States, tax rates and what is considered taxable vary by jurisdiction. Default *Sales* and *Purchase* taxes are created automatically when the Odoo *Accounting* application is installed. To manage existing or configure additional taxes, navigate to :menuselection:`Accounting --> Configuration --> Taxes`." +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:233 +msgid "In the United States, tax rates and what is considered taxable vary by jurisdiction. Default *sales* and *purchase* taxes are created automatically when the Odoo **Accounting** app is installed. To manage existing or configure additional taxes, navigate to :menuselection:`Accounting --> Configuration --> Taxes`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:246 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:243 msgid "**Avalara AvaTax** is a cloud-based tax calculation and compliance software that integrates with Odoo for several localizations. Integrating AvaTax with Odoo provides real-time and region-specific tax calculations when items are sold, purchased, and invoiced in the database." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:251 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:248 msgid "AvaTax is available for integration with databases/companies that have locations in the United States and Canada. Reference the :ref:`accounting/avatax/fiscal_country` documentation for more information." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:262 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:259 msgid "`US Tax Compliance: AvaTax elearning video `_" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:272 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:269 msgid "A number of :doc:`report selections <../accounting/reporting>` are readily available for the US localization, under the :menuselection:`Accounting app --> Reporting` drop-down menu:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:281 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:278 msgid ":ref:`Cash Flow Statement `: shows how much cash and cash equivalents a company has received and spent in a given period." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:291 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:288 msgid ":guilabel:`Check Register`: a report that displays cash transactions (regardless of the journal) with their running balance after the transaction. Only visible with the *US - Accounting Reports* (`l10n_us_reports`) module installed." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:294 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:291 msgid ":ref:`1099 Report `: a CSV download of payments made to non-employees in a period to file electronically in a third-party service. Only visible with the *1099 Reporting* (`l10n_us_1099`) module installed." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:300 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:297 msgid "Depending on the type of report, certain filters are available at the top of the dashboard:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:302 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:299 msgid "a *date* filter, indicated by a :icon:`fa-calendar` :guilabel:`(calendar)` icon that precedes a date in *MM/DD/YYYY* format. Use this to select a specific date or date range for the report." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:304 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:301 msgid "a :icon:`fa-bar-chart` :guilabel:`Comparison` filter, to compare reporting periods against each other" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:306 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:303 msgid "a *journal* filter, as indicated by a :icon:`fa-book` :guilabel:`(book)` icon and the default setting of :guilabel:`All Journals`. Use this filter to specify which journals should be included in the report." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:309 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:306 msgid "an *entries type* filter, as indicated by a :icon:`fa-filter` :guilabel:`(filter)` icon, with the default setting of :guilabel:`Posted Entries Only, Accrual Basis`. Use this filter to determine which type of journal entries should be included in the report (e.g. posted or draft), along with the type of accounting method (e.g. accrual or cash basis)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:314 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:311 msgid "There are view options in this filter, as well, one that will :guilabel:`Hide lines at 0` for more relevant viewing, along with a :guilabel:`Split Horizontally` option to keep the report above the screen's fold, removing the need to scroll." msgstr "" @@ -37823,63 +38689,63 @@ msgstr "" msgid "Accounting method filter menu for reports, covering accrual vs. cash basis methods." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:322 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:318 msgid "a *decimal* filter, that by default, includes figures with cents, as indicated by the :guilabel:`In .$` setting. Use the other options in the drop-down menu to change figures in the report to whole numbers (:guilabel:`In $`), thousands (:guilabel:`In K$`), or millions (:guilabel:`In M$`) formats." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:326 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:322 msgid "a report *customization* filter, indicated by the :icon:`fa-cogs` :guilabel:`(gears)` icon. Use this filter to customize the current report's sections and line items, or build new reports, as desired." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:339 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:335 msgid "The 1099 report, available by :ref:`installing ` the *1099 Reporting* (`l10n_us_1099`) module, includes payments that are made to non-employees across a given reporting period. Use the available CSV download from the report in Odoo to file 1099 payments electronically via a third-party service." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:344 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:340 msgid "To generate a 1099 report, navigate to :menuselection:`Accounting app --> Reporting --> Management: 1099 Report` to open a :guilabel:`1099 Report` wizard." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:347 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:343 msgid "First, enter the date range of the transactions to report in the :guilabel:`Start Date` and :guilabel:`End Date` fields." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:350 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:346 msgid "Then, edit the journal items that appear on the wizard. Click :guilabel:`Add a line` to add any items that are missing. Be sure to remove any items that should not be included in the report by clicking :icon:`fa-times` :guilabel:`(delete)` on the row." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:354 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:350 msgid "Finally, once all necessary items are included in the 1099 report, click on the :guilabel:`Generate` button. Doing so downloads a CSV file that groups transactions by the partner that received the payments." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:363 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:359 msgid "Navigate to the *Cash Flow Statement* (CFS) dashboard by going to :menuselection:`Accounting app --> Reporting --> Statement Reports: Cash Flow Statement`. From here, |CFS| reports can be generated using the various :ref:`filters ` that are available at the top of the dashboard." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:368 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:364 msgid "Odoo uses the *direct* cash flow method to compile cash flow statements, which measures actual cash inflows and outflows from the company's operations, such as when cash is received from customers or when cash payments are made to suppliers." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:372 -msgid "By default, an account labeled with any of the three default :guilabel:`Tags` on the :guilabel:`Chart of Accounts` dashboard will be included in the report, which includes: :guilabel:`Operating Activities`, :guilabel:`Financing Activities`, and :guilabel:`Investing & Extraordinary Activities`." +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:368 +msgid "By default, an account labeled with any of the three default :guilabel:`Tags` on the :guilabel:`Chart of Accounts` dashboard is included in the report, which includes: :guilabel:`Operating Activities`, :guilabel:`Financing Activities`, and :guilabel:`Investing & Extraordinary Activities`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/united_states.rst:-1 msgid "Examples of tagged accounts that are included in the Cash Flow Statement in Odoo." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:381 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:376 msgid "Additionally, the cash flow statement in Odoo:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:383 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:378 msgid "is limited to the *Bank* and *Cash* journals to reflect money coming in or out; and" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:384 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:379 msgid "also contains *Expenses* accounts, to show the counterpart transactions versus *Bank* or *Cash* journal entries, while excluding |AR| and |AP| activity." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:388 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:383 msgid "Create a vendor bill for $100, as an operating expense (not |AP|). Doing so will **not** reflect a transaction on the cash flow statement. However, register a corresponding payment for $100, and the transaction **will** reflect on the cash flow statement as :guilabel:`Cash paid for operating activities`." msgstr "" @@ -37887,300 +38753,300 @@ msgstr "" msgid "Example of a bill registered as an operating expense as part of a cash flow statement." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:413 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:407 msgid "Using checks is still a common payment practice in the US. Be sure the *US Checks Layout* (`l10n_us_check_printing`) module for the US localization is :ref:`installed `." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:420 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:414 msgid "Select a pre-printed or blank :guilabel:`Check Layout` from the drop-down menu:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:422 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:416 msgid ":guilabel:`Print Check (Top) - US`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:423 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:417 msgid ":guilabel:`Print Check (Middle) - US`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:424 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:418 msgid ":guilabel:`Print Check (Bottom) - US`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:425 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:419 msgid ":guilabel:`Print Blank Check (Top) - US`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:426 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:420 msgid ":guilabel:`Print Blank Check (Middle) - US`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:427 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:421 msgid ":guilabel:`Print Blank Check (Bottom) - US`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:431 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:425 msgid "Optionally set a :guilabel:`Check Top Margin` and :guilabel:`Check Left Margin`, if required." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:436 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:430 msgid "Pre-printed check formats (non-blank checks) require pre-printed paper from a third-party vendor. `Pre-printed checks from checkdepot.net `_ are recommended." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:441 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:435 msgid "Use one of the blank check formats to print the information of the check ad-hoc when needed. This requires the use of both :abbr:`MICR (Magnetic Ink Character Recognition)` ink or toner complying with the standards for check printing, as well as `check quality paper `_. Other information, such as the company name, bank account, and check number, is printed when creating the blank check." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:456 -msgid "The *Payroll* application is responsible for calculating an employee's pay, taking into account all work, vacation, and sick time, benefits, and deductions. The *Payroll* app pulls information from the *Attendances*, *Timesheets*, *Time Off*, *Employees* and *Expenses* applications, to calculate the worked hours and compensation for each employee." +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:450 +msgid "The **Payroll** app is responsible for calculating an employee's pay, taking into account all work, vacation, and sick time, benefits, and deductions. The **Payroll** app pulls information from the **Attendances**, **Timesheets**, **Time Off**, **Employees** and **Expenses** apps, to calculate the worked hours and compensation for each employee." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:461 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:455 msgid "When using an external payroll provider, such as *ADP*, it is necessary to export the various payroll-related data, such as work entries, repayment of expenses, taxes, commissions, and any other relevant data, so the data can be uploaded into the payroll provider, who then issues the actual paychecks or directly deposits the funds into an employee's bank account." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:466 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:460 msgid "In order to export the payroll data, the work entries must first be validated and correct. Refer to the :doc:`work entries <../../hr/payroll/work_entries>` documentation for more information regarding validating work entries." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:470 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:464 msgid "Once work entries are validated, the information can be :ref:`exported to ADP `." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:472 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:466 msgid "After payments have been issued to employees, payslips can be processed into batches, validated, and posted to the corresponding accounting journals to keep all financial records in Odoo current." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:478 -msgid "It is important to have the *Employees* application installed, and all employee information populated. Several fields in both the :ref:`employee records `, as well as in an :ref:`employee contracts `, are necessary to properly process the employee's pay. Ensure the following fields are filled out in their respective places." +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:472 +msgid "It is important to have the **Employees** app installed, and all employee information populated. Several fields in both the :ref:`employee records `, as well as in an :ref:`employee contracts `, are necessary to properly process the employee's pay. Ensure the following fields are filled out in their respective places." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:487 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:480 msgid "Employee records" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:489 -msgid "In each employee record, there is various information the *Payroll* application requires to properly process payslips, including various banking, tax, and work information." +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:482 +msgid "In each employee record, there is various information the **Payroll** app requires to properly process payslips, including various banking, tax, and work information." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:492 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:485 msgid "Navigate to the :menuselection:`Employees app` and select an employee record to view the sections of the employee form that directly affect *Payroll*:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:495 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:488 msgid ":guilabel:`Work Information` tab:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:497 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:490 msgid ":guilabel:`Work Address`: indicates where the employee is located, including the state, which affects the tax calculations." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:499 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:492 msgid ":guilabel:`Working Hours`: determines how pay is calculated, and determines if an employee earns overtime." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:502 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:495 msgid ":guilabel:`Private Information` tab:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:504 -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:538 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:497 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:531 msgid ":guilabel:`SSN No`: the last four digits of the employee's Social Security Number (SSN) appears on payslips." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:506 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:499 msgid ":guilabel:`Bank Account Number`: the bank account associated with the NACHA payment file." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:508 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:501 msgid ":guilabel:`HR Settings` tab:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:510 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:503 msgid ":guilabel:`Federal Tax Filing Status`: the tax status an employee uses for Payroll tax calculations, which can be different from their state status." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:512 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:505 msgid ":guilabel:`State Tax Filing Status`: the tax status an employee uses for their state portion of the Payroll tax calculation." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:514 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:507 msgid ":guilabel:`W-2 Form`: a US tax form indicating the summary of wages, taxes, and benefits paid to an employee during a tax period (typically one year)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:516 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:509 msgid ":guilabel:`W-4 Form`: an IRS form that helps outline the amount of federal taxes to withhold for an employee, which is paid to the IRS by the company." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:522 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:515 msgid "Employee contracts" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:524 -msgid "Additionally, there is information that is found in an employee contract that also affects the *Payroll* application." +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:517 +msgid "Additionally, there is information that is found in an employee contract that also affects the **Payroll** app." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:527 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:520 msgid "Navigate to the :menuselection:`Employees app --> Employees --> Contracts` and select a contract record to view the sections of a contract that directly affect *Payroll*:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:530 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:523 msgid ":guilabel:`General Information`:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:532 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:525 msgid ":guilabel:`Salary Structure Type: United States: Employee`: defines when the employee is paid, their working schedule, and the work entry type." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:534 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:527 msgid ":guilabel:`Work Entry source`: determines how work entries are calculated." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:536 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:529 msgid ":guilabel:`Salary Information` tab:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:540 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:533 msgid ":guilabel:`Wage type`: determines how the employee is paid, wether a Fixed wage (salary) or Hourly wage." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:542 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:535 msgid ":guilabel:`Schedule Pay`: defines how often the employee is paid, either :guilabel:`Annually`, :guilabel:`Semi-annually`, :guilabel:`Quarterly`, :guilabel:`Bi-monthly`, :guilabel:`Monthly`, :guilabel:`Semi-monthly`, :guilabel:`Bi-weekly`, :guilabel:`Weekly`, or :guilabel:`Daily`. In the US, Semi-monthly (24 payments a year) or bi-weekly (26 payments a year) are the most common." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:546 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:539 msgid ":guilabel:`Wage, Yearly, and Monthly cost`: used to show the total cost of an employee. It is recommended to populate the :guilabel:`Yearly` wage first, as it auto-populates the other fields." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:549 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:542 msgid ":guilabel:`Pre-tax benefits`: populate this section according to the employee's selections. Pre-tax benefits decrease the gross wage, which lowers the base amount that is taxed. These are displayed at the beginning of the payslip." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:552 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:545 msgid ":guilabel:`Post-tax benefits`: these benefits are deductions made *after* taxes are calculated. These appear towards the end of the payslip before the net amount is displayed." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:556 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:549 msgid ":doc:`Employees documentation <../../hr/employees/new_employee>`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:561 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:554 msgid "Export work entries to ADP" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:566 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:559 msgid "In order to create a report that can be uploaded to ADP, there are some initial configuration steps that must be completed first." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:569 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:562 msgid "First, ensure the *United States - Payroll - Export to ADP* (`l10n_us_hr_payroll_adp`) module is :ref:`installed `." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:572 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:565 msgid "Then, the company **must** have an *ADP Code* entered in the company settings. To do so, navigate to :menuselection:`Payroll app --> Configuration --> Settings`. Enter the :guilabel:`ADP Code` in the :guilabel:`US Localization` section." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:576 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:569 msgid "Next, work entry types **must** have the correct ADP code listed in the *External Code* field for each work entry type that is being referenced." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:579 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:572 msgid "Lastly, every employee **must** have an *ADP Code* entered on their employee form. To do so, navigate to :menuselection:`Employees app`, select an employee record, and open the :guilabel:`HR Settings` tab. Enter the :guilabel:`ADP Code` in the :guilabel:`ADP Information` section." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:583 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:576 msgid "The :guilabel:`ADP Code` code is how ADP identifies that particular employee, and is typically a six-digit number." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:587 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:580 msgid ":ref:`payroll/new-work-entry`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:588 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:581 msgid ":doc:`../../hr/employees/new_employee`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:591 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:584 msgid "Export data" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:593 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:586 msgid "Once :doc:`work entries <../../hr/payroll/work_entries>` have been verified, the information can be exported to a CSV file, which can then be uploaded into ADP." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:596 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:589 msgid "To export the data, navigate to :menuselection:`Payroll app --> Reporting --> United States: ADP Export`, then click :guilabel:`New`. Next, enter the :guilabel:`Start Date` and :guilabel:`End Date` for the work entries using the calendar pop-over." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:600 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:593 msgid "Then, enter a :guilabel:`Batch ID` in the corresponding field. The recommendation for this field is to enter the date in a `YY-MM-DD` format, followed by any other characters to distinguish that specific batch, such as a department name, or any other defining characteristics for the batch." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:604 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:597 msgid "Enter a :guilabel:`Batch Description` in the corresponding field. This should be short and descriptive, but distinct from the :guilabel:`Batch Name`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:607 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:600 msgid "Ensure the correct company populates the :guilabel:`Company` field. Change the selected company with the drop-down menu, if needed." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:610 -msgid "Lastly, add the employee's work entry information to the list. Click :guilabel:`Add a line` and an :guilabel:`Add: Employee` pop-up window loads. The list can be :doc:`filtered <../../essentials/search>` to more easily find the employees to add to the list." +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:603 +msgid "Lastly, add the employee's work entry information to the list. Click :guilabel:`Add a line` and an :guilabel:`Add: Employee` pop-up window loads. The list can be :doc:`filtered <../../essentials/search>` to find the employees to add to the list." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:615 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:608 msgid "Process the data export in multiple groups instead of in one large group that contains all employees. This helps to meaningfully differentiate the batches and makes processing more tenable, overall. The most common ways to group employees is by department, or by wage type (hourly or salaried)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:620 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:613 msgid "Select the employees to add to the list by ticking the box to the left of their name. Once all desired employees have been selected, click the :guilabel:`Select` button in the lower-left corner, and the employees appear in the list." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:624 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:617 msgid "To create the CSV file, click the :guilabel:`Generate` button in the top-left corner." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:629 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:622 msgid "ACH - electronic transfers" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:631 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:624 msgid "Automated Clearing House (ACH) payments are a modern way to transfer funds electronically between bank accounts, replacing traditional paper-based methods. |ACH| payments are commonly used for direct deposits, bill payments, and business transactions." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:636 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:629 msgid "Receive ACH payments: payment provider integration" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:638 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:631 msgid "|ACH| payments are supported by *Authorize.net* and *Stripe* payment integrations in Odoo." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:641 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:634 msgid ":ref:`Setting up Authorize.net for ACH payments (Odoo) `" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:642 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:635 msgid "`Authorize.net's ACH payment processing for small businesses documentation `_" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:644 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:637 msgid ":doc:`Setting up Stripe for ACH payments (Odoo) <../payment_providers/stripe>`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:645 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:638 msgid "`Stripe's ACH Direct Debit documentation `_" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:650 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:643 msgid "Send payments: NACHA files" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:652 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:645 msgid "Odoo can generate a National Automated Clearing House Association (NACHA) compatible |ACH| file to send to a company's bank. For each individual *Bank* journal that the company wishes to pay vendors with, a |NACHA| configuration section needs to be filled out on the Odoo database." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:659 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:652 msgid "First, navigate to the :menuselection:`Accounting app --> Configuration --> Journals`. Open the bank journal and click into the :guilabel:`Outgoing Payments` tab." msgstr "" @@ -38188,31 +39054,31 @@ msgstr "" msgid "NACHA (National Automated Clearing House Association) configuration settings on Odoo." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:667 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:659 msgid "The following |NACHA| configuration information is normally provided by the company's financial institution once they have been approved to send payments via their account." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:670 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:662 msgid "Under the section labeled, :guilabel:`NACHA configuration` are the fields required to generate a |NACHA| compatible |ACH| file to send to a company's bank. First, enter the routing number of the financial institution in the field labeled, :guilabel:`Immediate Destination`. This information is widely available on the Internet and generally varies by bank location. This number is usually provided during the initial account setup." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:676 -msgid "Next, enter the registered name of the financial institution in the field called, :guilabel:`Destination`. This information will be provided by the bank or credit union." +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:668 +msgid "Next, enter the registered name of the financial institution in the field called, :guilabel:`Destination`. This information is provided by the bank or credit union." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:679 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:671 msgid "Following the :guilabel:`Destination` field is the :guilabel:`Immediate Origin` field. Enter the 9-digit company ID or Employer Identification Number (EIN) into this field. This information is provided by the financial institution." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:683 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:675 msgid "Next, enter the :guilabel:`Company Identification` number, which is a 10-digit number made from combining the 9-digit company ID or Employer Identification Number (EIN), along with an additional number at the start of the sequence. This number is often a `1`. Check with the financial institution should this first number differ to verify that it is correct, as this number is provided for |ACH| approved accounts." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:689 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:681 msgid "Enter the :guilabel:`Originating DFI Identification` number next, which should contain an assigned 8-digit number from the financial institution." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:693 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:685 msgid "Enter the numerical values in this section *exactly* as the company's financial institution (e.g. bank or credit union) has provided them, otherwise risk failing a successful |NACHA| configuration in Odoo." msgstr "" @@ -38220,39 +39086,39 @@ msgstr "" msgid "NACHA settings with the standard entry class code drop-down menu highlighted." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:701 -msgid "There are two options for the next field: :guilabel:`Standard Entry Class Code`. Select the drop-down menu to the right of the field and pick either :guilabel:`Corporate Credit or Debit (CCD)` or :guilabel:`Prearranged Payment and Deposit (PPD)`. Again, this information will be provided by the financial institution. By default :guilabel:`Corporate Credit or Debit (CCD)` is selected." +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:692 +msgid "Two options are available for the next field: :guilabel:`Standard Entry Class Code`. Select the drop-down menu to the right of the field and pick either :guilabel:`Corporate Credit or Debit (CCD)` or :guilabel:`Prearranged Payment and Deposit (PPD)`. Again, this information is provided by the financial institution. By default :guilabel:`Corporate Credit or Debit (CCD)` is selected." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:706 -msgid "Finally, the last option is for :guilabel:`Generated Balanced Files`. Tick the checkbox to the right of the field to enable :guilabel:`Generated Balanced Files`. Consult the company's accountant or financial advisor to make an informed decision for this field." +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:697 +msgid "Finally, the last option is for :guilabel:`Generated Balanced Files`. Tick the checkbox to the right of the field to enable :guilabel:`Generated Balanced Files`. Consult the company's accountant or financial adviser to make an informed decision for this field." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:710 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:701 msgid "Manually save the configuration by clicking the :icon:`fa-cloud-upload` :guilabel:`(cloud upload)` icon, or navigate away from this screen to auto-save. The configuration is now complete." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:716 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:707 msgid "Create batch payment" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:718 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:709 msgid "Now, record each payment in Odoo using the |NACHA| payment method." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:721 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:712 msgid ":ref:`Register Payments in Odoo `" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:724 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:715 msgid "Be aware of the cut-off time for same-day payments. Either the file needs to have a future date associated with each payment or the file needs to be sent prior to the cut-off, if the dates included in it match today's date. Consult the financial institution for the exact cut-off time for their processing of same-day payments." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:729 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:720 msgid "Once all the payments to be included in the |NACHA| |ACH| file have been made, a batch payment needs to be made from the :icon:`fa-cog` :guilabel:`Action` menu." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:732 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:723 msgid "To create the batch payments, access the payments page, by navigating to :menuselection:`Accounting --> Vendors --> Payments`. Select all the payments that should be included in the |NACHA| |ACH| file, by ticking the checkboxes to the far-left of the rows." msgstr "" @@ -38261,26 +39127,266 @@ msgid "On the payments screen, the action menu is highlighted with create a batc "selected." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:742 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:732 msgid "All payments in the batch **must** share the same |NACHA| payment method." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:744 -msgid "Next, navigate to the batched payment (:menuselection:`Accounting --> Vendors --> Batch Payments`). Click into the payment just created and then click into the :guilabel:`Exported File` tab. The generated file is listed with the :guilabel:`Generation Date`. Click the :icon:`fa-download` :guilabel:`(download)` button to download the file." +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:734 +msgid "Next, navigate to the batched payment (:menuselection:`Accounting --> Vendors --> Batch Payments`). Click into the payment recently created and then click into the :guilabel:`Exported File` tab. The generated file is listed with the :guilabel:`Generation Date`. Click the :icon:`fa-download` :guilabel:`(download)` button to download the file." msgstr "" #: ../../content/applications/finance/fiscal_localizations/united_states.rst:-1 msgid "The exported file tab highlighted in the batch payment with the download circled." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:753 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:742 msgid "If any adjustments need to be made, click the :guilabel:`Re-generate Export File` button to recreate a new |NACHA| |ACH| file." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_states.rst:758 +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:747 msgid ":doc:`Europe's direct debiting <../accounting/payments/batch_sdd>`" msgstr "" +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:750 +msgid "ISO 20022" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:752 +msgid "ISO 20022 is a global standard for sending financial information between banks and payment systems using XML files. It can be thought of as a universal language for money messages." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:755 +msgid "This standard helps banks all over the world talk to each other in the same way, or *language*, so information is transferred correctly, making sending and receiving money faster, clearer, and safer." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:758 +msgid "In Odoo, ISO 20022 files are generated from :ref:`batch payments `." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:761 +msgid "Configurations" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:763 +msgid "Before creating ISO 20022 records, several configurations must be made, including :ref:`general settings `, contact information for the :ref:`company `, and contact and banking information for all :ref:`recipients `." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:771 +msgid "Settings" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:773 +msgid "First, navigate to :menuselection:`Acounting app --> Configuration --> Settings`, scroll to the :guilabel:`Customer Payment` section, and enable the :guilabel:`Batch Payments` option." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:776 +msgid "Then scroll to the :guilabel:`Vendor Payments` section and enable the :guilabel:`SEPA Credit Transfer / ISO20022` option. Once Enabled, three fields appear: :guilabel:`Your Company`, :guilabel:`Name Identification`, and :guilabel:`Issuer`. Enter the information for these fields. The information entered is required by the bank to identify the account, and is added to the XML file." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:781 +msgid "Click :guilabel:`Save` after making changes." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:-1 +msgid "The settings configured for the ISO 20022 in the Accounting app settings page." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:787 +msgid "The :guilabel:`Name Identification` and :guilabel:`Issuer` information are typically provided by the bank." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:795 +msgid "Ensure the company's address information is correct, as the XML files generated include the company address. Navigate to the :menuselection:`Settings app --> Users & Companies --> Companies`, and click on the desired company to open the company form. Ensure the :guilabel:`Address` fields are fully configured in the :guilabel:`General Information` tab." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:-1 +msgid "The company record with address information completed." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:806 +msgid "Recipient information" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:808 +msgid "The XML file generated contains the address and banking information for *all* recipients. Open the **Contacts** app and ensure every contact record that receives payments, both persons and companies, includes complete :guilabel:`Address` information in the top-half of the contact form." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:-1 +msgid "The contact record for a company with address information completed." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:815 +msgid "Next, click into the :guilabel:`Accounting` tab, and ensure at least one trusted bank account populates the :guilabel:`Banks` field. If no bank is listed, add a :ref:`new bank account `." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:822 +msgid "Add a bank account" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:824 +msgid "To add a bank account on a contact record, open the **Contacts** app and click on the contact record, and click into the :guilabel:`Accounting` tab. Click into the blank field next to :guilabel:`Banks`, click :guilabel:`Create...`, and a :guilabel:`Create Banks` pop-up window loads. Fill out the following fields on the form, then click :guilabel:`Save`:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:829 +msgid ":guilabel:`Account Number`: Enter the bank account number." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:830 +msgid ":guilabel:`ABA/Routing Number`: Enter the ABA or routing number for the account." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:831 +msgid ":guilabel:`Account Holder`: Using the drop-down menu, select the owner of the bank account. The contact name (person or company) populates this field by default." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:833 +msgid ":guilabel:`Bank`: Using the drop-down menu, select the bank for the account. If the bank does not appear in the list, add a new bank by clicking :guilabel:`Search more...` then click :guilabel:`New`, and fill out the :guilabel:`Create Bank` form." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:836 +msgid ":guilabel:`Send Money`: Ensure this slider is set to :guilabel:`Trusted`. The slider and text appears green if the bank account is trusted. If this is **not** set to trusted, an error appears when attempting to make a payment to the contact." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:-1 +msgid "Bank information on the Create Banks form." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:844 +msgid "Trusted bank accounts appear in green in the :guilabel:`Accounting` tab." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:0 +msgid "A trusted bank account on a contact form." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:850 +msgid "Bank journal settings" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:852 +msgid "Ensure the ISO payment methods appear in the bank journal, and are configured correctly. Navigate to :menuselection:`Accounting app --> Configurations --> Journals` and click on the journal :guilabel:`Bank`. Click into the :guilabel:`Outgoing Payments` tab, and ensure that in the :guilabel:`Payment Method` column, both `ISO20022` and `U.S. ISO20022` appear." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:857 +msgid "Next, ensure all entries listed have the :guilabel:`101404 Outstanding Payments` account selected in the :guilabel:`Outstanding Payments accounts` column. This allows Odoo to create journal entries for payments." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:862 +msgid "ISO20022 vs U.S. ISO20022" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:864 +msgid "The U.S. ISO20022 is similar to the ISO standard, with some U.S.-specific rules and formatting." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:867 +msgid "The U.S. ISO20022 uses ABA routing numbers, which are specific to the U.S., while the generic ISO20022 uses IBAN numbers." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:874 +msgid "Feature" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:875 +msgid "Global ISO 20022" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:876 +msgid "U.S. ISO 20022" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:877 +msgid "Developed by" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:878 +msgid "ISO (global organization)" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:879 +msgid "U.S. payment system operators (Fed, TCH, NACHA)" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:880 +msgid "Used for" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:881 +msgid "Global & cross-border payments" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:882 +msgid "Domestic U.S. payments" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:884 +msgid "XML-based standard" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:885 +msgid "XML (same base) with U.S. data rules" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:886 +msgid "Examples" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:887 +msgid "SEPA Credit Transfer (Europe), SWIFT MX messages" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:888 +msgid "Fedwire ISO 20022, CHIPS ISO 20022" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:889 +msgid "Differences" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:890 +msgid "Global fields and formats" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:891 +msgid "Trimmed or modified to fit U.S. needs (e.g., ABA routing numbers instead of IBANs)" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:894 +msgid "It is recommended to use the generic ISO20022 for *international* transfers, and use the U.S. ISO20022 for *domestic* transfers." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:900 +msgid "First, :ref:`create ` and :ref:`confirm ` a vendor bill. Then, click the :guilabel:`Pay` button, and a :guilabel:`Pay` pop-up window loads. Using the drop-down menu, select :guilabel:`ISO20022` in the :guilabel:`Payment Method` field, then click :guilabel:`Create Payment`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:-1 +msgid "The Pay pop-up window configured for ISO20022." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:908 +msgid "A green :guilabel:`In Payment` banner now appears on the vendor bill. Next, navigate to :menuselection:`Accounting --> Vendors --> Payments`, and tick the checkbox next to the payment that was paid using ISO20022 file to select it. Click :guilabel:`Create Batch`, then click :guilabel:`Validate` on the batch form. Once validated, the batch payment moves to the :guilabel:`Sent` stage, and the U.S. ISO20022 XML file is created and added to the chatter. The XML file can be downloaded and used to initiate a bank payment." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:-1 +msgid "A batch payment with the XML file in the chatter." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:918 +msgid "Once the XML file is created, the following steps occur **outside** of the Odoo database." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:920 +msgid "Log into the bank's online portal or payment system. Most banks that support ISO 20022 have a special section for `file uploads` or `import payments`. Upload the XML ISO 20022 file created by Odoo (ending in `.xml`) and upload it to the bank system." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:924 +msgid "The bank checks the XML file by reading the file and making sure all details (accounts, amounts, etc.) are valid. The list of payments appears inside the file. Review and confirm the information, then click `Approve` or `Submit`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/united_states.rst:928 +msgid "The bank processes each payment in the file and transfers the funds to the recipients." +msgstr "" + #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:3 msgid "Uruguay" msgstr "" @@ -39098,11 +40204,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:29 +#: ../../content/applications/finance/payment_providers.rst:31 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:34 +#: ../../content/applications/finance/payment_providers.rst:36 msgid "Each payment provider is linked to a list of supported :ref:`payment methods ` that can be (de)activated based on your needs." msgstr "" @@ -39110,163 +40216,173 @@ msgstr "" msgid "Online payment form" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:41 +#: ../../content/applications/finance/payment_providers.rst:43 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:49 +#: ../../content/applications/finance/payment_providers.rst:51 msgid "Supported payment providers" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:51 +#: ../../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`." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:58 +#: ../../content/applications/finance/payment_providers.rst:60 msgid "Online payment providers" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:66 +#: ../../content/applications/finance/payment_providers.rst:68 msgid "Payment flow from" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:67 +#: ../../content/applications/finance/payment_providers.rst:69 msgid ":ref:`Tokenization `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:68 +#: ../../content/applications/finance/payment_providers.rst:70 msgid ":ref:`Manual capture `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:69 +#: ../../content/applications/finance/payment_providers.rst:71 msgid ":ref:`Refunds `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:70 +#: ../../content/applications/finance/payment_providers.rst:72 msgid ":ref:`Express checkout `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:71 +#: ../../content/applications/finance/payment_providers.rst:73 msgid ":doc:`Adyen `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:73 -#: ../../content/applications/finance/payment_providers.rst:91 -#: ../../content/applications/finance/payment_providers.rst:103 -#: ../../content/applications/finance/payment_providers.rst:139 -#: ../../content/applications/finance/payment_providers.rst:145 -#: ../../content/applications/finance/payment_providers.rst:148 -#: ../../content/applications/finance/payment_providers.rst:151 +#: ../../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 msgid "|V|" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:74 -#: ../../content/applications/finance/payment_providers.rst:75 -#: ../../content/applications/finance/payment_providers.rst:141 -#: ../../content/applications/finance/payment_providers.rst:147 +#: ../../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 msgid "Full and partial" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:77 +#: ../../content/applications/finance/payment_providers.rst:79 msgid ":doc:`Amazon Payment Services `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:78 -#: ../../content/applications/finance/payment_providers.rst:84 -#: ../../content/applications/finance/payment_providers.rst:96 -#: ../../content/applications/finance/payment_providers.rst:102 -#: ../../content/applications/finance/payment_providers.rst:108 -#: ../../content/applications/finance/payment_providers.rst:114 -#: ../../content/applications/finance/payment_providers.rst:120 -#: ../../content/applications/finance/payment_providers.rst:126 -#: ../../content/applications/finance/payment_providers.rst:150 +#: ../../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 msgid "The provider's website" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:83 +#: ../../content/applications/finance/payment_providers.rst:85 msgid ":doc:`AsiaPay `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:89 +#: ../../content/applications/finance/payment_providers.rst:91 msgid ":doc:`Authorize.Net `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:92 -#: ../../content/applications/finance/payment_providers.rst:93 -#: ../../content/applications/finance/payment_providers.rst:140 -#: ../../content/applications/finance/payment_providers.rst:146 +#: ../../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 msgid "Full only" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:95 +#: ../../content/applications/finance/payment_providers.rst:97 msgid ":doc:`Buckaroo `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:101 +#: ../../content/applications/finance/payment_providers.rst:103 msgid ":doc:`Flutterwave `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:107 +#: ../../content/applications/finance/payment_providers.rst:109 +msgid ":doc:`Iyzico `" +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:115 msgid ":doc:`Mercado Pago `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:113 +#: ../../content/applications/finance/payment_providers.rst:121 msgid ":doc:`Mollie `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:119 +#: ../../content/applications/finance/payment_providers.rst:127 msgid ":doc:`Nuvei `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:125 +#: ../../content/applications/finance/payment_providers.rst:133 msgid ":doc:`Paymob `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:131 +#: ../../content/applications/finance/payment_providers.rst:139 msgid ":doc:`PayPal `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:137 +#: ../../content/applications/finance/payment_providers.rst:145 msgid ":doc:`Razorpay `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:143 +#: ../../content/applications/finance/payment_providers.rst:151 +msgid ":doc:`Redsys `" +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:157 msgid ":doc:`Stripe `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:149 +#: ../../content/applications/finance/payment_providers.rst:163 msgid ":doc:`Worldline `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:155 +#: ../../content/applications/finance/payment_providers.rst:169 msgid ":doc:`Xendit `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:156 +#: ../../content/applications/finance/payment_providers.rst:170 msgid "Odoo or the provider's website" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:157 +#: ../../content/applications/finance/payment_providers.rst:171 msgid "|V| *" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:163 +#: ../../content/applications/finance/payment_providers.rst:177 msgid "Refer to the :doc:`Xendit documentation ` for more information." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:166 +#: ../../content/applications/finance/payment_providers.rst:180 msgid "Each provider has its own specific configuration flow, depending on which feature is available." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:168 +#: ../../content/applications/finance/payment_providers.rst:182 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:175 +#: ../../content/applications/finance/payment_providers.rst:189 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:183 +#: ../../content/applications/finance/payment_providers.rst:197 msgid "Bank payments" msgstr "" @@ -39286,266 +40402,262 @@ msgstr "" msgid "Your customers can make a bank transfer to register a SEPA Direct Debit mandate and get their bank account charged directly." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:195 +#: ../../content/applications/finance/payment_providers.rst:209 msgid "Enabling a payment provider" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:197 +#: ../../content/applications/finance/payment_providers.rst:211 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:200 +#: ../../content/applications/finance/payment_providers.rst:214 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:203 +#: ../../content/applications/finance/payment_providers.rst:217 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:206 +#: ../../content/applications/finance/payment_providers.rst:220 msgid "Select the provider and configure the :guilabel:`Credentials` tab." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:207 +#: ../../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 msgid "Set the :guilabel:`State` field to :guilabel:`Enabled`." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:210 +#: ../../content/applications/finance/payment_providers.rst:224 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:213 +#: ../../content/applications/finance/payment_providers.rst:227 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:221 +#: ../../content/applications/finance/payment_providers.rst:235 msgid "Test mode" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:224 +#: ../../content/applications/finance/payment_providers.rst:238 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:227 +#: ../../content/applications/finance/payment_providers.rst:241 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:233 +#: ../../content/applications/finance/payment_providers.rst:247 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:241 +#: ../../content/applications/finance/payment_providers.rst:255 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:247 +#: ../../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." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:252 +#: ../../content/applications/finance/payment_providers.rst:266 msgid "Icons and brands" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:254 +#: ../../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." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:260 +#: ../../content/applications/finance/payment_providers.rst:274 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:263 +#: ../../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." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:270 +#: ../../content/applications/finance/payment_providers.rst:284 msgid "Advanced configuration" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:272 +#: ../../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:279 +#: ../../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:282 +#: ../../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:291 +#: ../../content/applications/finance/payment_providers.rst:305 msgid "Tokenization" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:293 +#: ../../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`." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:298 +#: ../../content/applications/finance/payment_providers.rst:312 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:303 +#: ../../content/applications/finance/payment_providers.rst:317 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:306 +#: ../../content/applications/finance/payment_providers.rst:320 msgid "PCI DSS and Attestation of Compliance" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:308 +#: ../../content/applications/finance/payment_providers.rst:322 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:319 +#: ../../content/applications/finance/payment_providers.rst:333 msgid "Manual capture" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:321 +#: ../../content/applications/finance/payment_providers.rst:335 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:326 +#: ../../content/applications/finance/payment_providers.rst:340 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:331 +#: ../../content/applications/finance/payment_providers.rst:345 msgid "Receive the payment confirmation and wait until the order is shipped to capture the payment." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:332 +#: ../../content/applications/finance/payment_providers.rst:346 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:334 +#: ../../content/applications/finance/payment_providers.rst:348 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:336 +#: ../../content/applications/finance/payment_providers.rst:350 msgid "Hold a security deposit to return later, minus any deductions (e.g., in case of damages)." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:338 +#: ../../content/applications/finance/payment_providers.rst:352 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:343 +#: ../../content/applications/finance/payment_providers.rst:357 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:347 +#: ../../content/applications/finance/payment_providers.rst:361 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:350 +#: ../../content/applications/finance/payment_providers.rst:364 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:356 +#: ../../content/applications/finance/payment_providers.rst:370 msgid "Refunds" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:358 +#: ../../content/applications/finance/payment_providers.rst:372 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:363 +#: ../../content/applications/finance/payment_providers.rst:377 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:367 +#: ../../content/applications/finance/payment_providers.rst:381 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:373 +#: ../../content/applications/finance/payment_providers.rst:387 msgid "Express checkout" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:375 +#: ../../content/applications/finance/payment_providers.rst:389 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:381 +#: ../../content/applications/finance/payment_providers.rst:395 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:385 +#: ../../content/applications/finance/payment_providers.rst:399 msgid "All prices shown on the express checkout payment form always include taxes." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:390 -msgid "Availability" -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:392 +#: ../../content/applications/finance/payment_providers.rst:406 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:397 +#: ../../content/applications/finance/payment_providers.rst:411 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:407 +#: ../../content/applications/finance/payment_providers.rst:421 msgid "Currencies and countries" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:409 +#: ../../content/applications/finance/payment_providers.rst:423 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:417 +#: ../../content/applications/finance/payment_providers.rst:431 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:419 +#: ../../content/applications/finance/payment_providers.rst:433 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:427 +#: ../../content/applications/finance/payment_providers.rst:441 msgid "Maximum amount" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:429 +#: ../../content/applications/finance/payment_providers.rst:443 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:433 +#: ../../content/applications/finance/payment_providers.rst:447 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:440 +#: ../../content/applications/finance/payment_providers.rst:454 msgid "Payment journal" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:442 +#: ../../content/applications/finance/payment_providers.rst:456 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:448 +#: ../../content/applications/finance/payment_providers.rst:462 msgid "The payment journal must be a :guilabel:`Bank` journal." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:449 +#: ../../content/applications/finance/payment_providers.rst:463 msgid "The same journal can be used for several payment providers." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:450 +#: ../../content/applications/finance/payment_providers.rst:464 msgid "Payment journals must only be configured if the :doc:`Invoicing or Accounting app ` is installed." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:454 +#: ../../content/applications/finance/payment_providers.rst:468 msgid "Accounting perspective" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:456 +#: ../../content/applications/finance/payment_providers.rst:470 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:463 +#: ../../content/applications/finance/payment_providers.rst:477 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 "" @@ -39553,71 +40665,75 @@ msgstr "" msgid "Define an outstanding account for a payment provider." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:472 +#: ../../content/applications/finance/payment_providers.rst:486 msgid ":doc:`payment_providers/wire_transfer`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:473 +#: ../../content/applications/finance/payment_providers.rst:487 msgid ":doc:`payment_providers/sdd`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:474 +#: ../../content/applications/finance/payment_providers.rst:488 msgid ":doc:`payment_providers/adyen`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:475 +#: ../../content/applications/finance/payment_providers.rst:489 msgid ":doc:`payment_providers/authorize`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:476 +#: ../../content/applications/finance/payment_providers.rst:490 msgid ":doc:`payment_providers/asiapay`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:477 +#: ../../content/applications/finance/payment_providers.rst:491 msgid ":doc:`payment_providers/buckaroo`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:478 +#: ../../content/applications/finance/payment_providers.rst:492 msgid ":doc:`payment_providers/demo`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:479 +#: ../../content/applications/finance/payment_providers.rst:493 msgid ":doc:`payment_providers/mercado_pago`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:480 +#: ../../content/applications/finance/payment_providers.rst:494 msgid ":doc:`payment_providers/mollie`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:481 +#: ../../content/applications/finance/payment_providers.rst:495 msgid ":doc:`payment_providers/nuvei`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:482 +#: ../../content/applications/finance/payment_providers.rst:496 msgid ":doc:`payment_providers/paymob`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:483 +#: ../../content/applications/finance/payment_providers.rst:497 msgid ":doc:`payment_providers/paypal`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:484 +#: ../../content/applications/finance/payment_providers.rst:498 msgid ":doc:`payment_providers/razorpay`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:485 +#: ../../content/applications/finance/payment_providers.rst:499 +msgid ":doc:`payment_providers/redsys`" +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:500 msgid ":doc:`payment_providers/stripe`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:486 +#: ../../content/applications/finance/payment_providers.rst:501 msgid ":doc:`payment_providers/worldline`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:487 +#: ../../content/applications/finance/payment_providers.rst:502 msgid ":doc:`payment_providers/xendit`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:488 +#: ../../content/applications/finance/payment_providers.rst:503 msgid ":doc:`accounting/bank`" msgstr "" @@ -39643,12 +40759,14 @@ msgstr "" #: ../../content/applications/finance/payment_providers/authorize.rst:51 #: ../../content/applications/finance/payment_providers/buckaroo.rst:37 #: ../../content/applications/finance/payment_providers/flutterwave.rst:44 +#: ../../content/applications/finance/payment_providers/iyzico.rst:31 #: ../../content/applications/finance/payment_providers/mercado_pago.rst:39 #: ../../content/applications/finance/payment_providers/mollie.rst:31 #: ../../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 @@ -39911,8 +41029,10 @@ 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 #: ../../content/applications/finance/payment_providers/worldline.rst:68 #: ../../content/applications/finance/payment_providers/xendit.rst:55 msgid "Configure the rest of the options to your liking." @@ -40326,6 +41446,46 @@ 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/iyzico.rst:3 +msgid "Iyzico" +msgstr "" + +#: ../../content/applications/finance/payment_providers/iyzico.rst:5 +msgid "`Iyzico `_ is an online payment provider covering Turkey." +msgstr "" + +#: ../../content/applications/finance/payment_providers/iyzico.rst:10 +msgid "Configuration on the Iyzico Dashboard" +msgstr "" + +#: ../../content/applications/finance/payment_providers/iyzico.rst:12 +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." +msgstr "" + +#: ../../content/applications/finance/payment_providers/iyzico.rst:15 +msgid "In the same Merchant Settings page, Find and enable :guilabel:`Merchant Notifications` section." +msgstr "" + +#: ../../content/applications/finance/payment_providers/iyzico.rst:0 +msgid "Enter your Odoo database URL followed by `/payment/iyzico/webhook` in the :guilabel:`Merchant Notification Url` field." +msgstr "" + +#: ../../content/applications/finance/payment_providers/iyzico.rst:0 +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`." +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`." +msgstr "" + #: ../../content/applications/finance/payment_providers/mercado_pago.rst:3 msgid "Mercado Pago" msgstr "" @@ -40854,6 +42014,70 @@ msgstr "" msgid "Transactions that remain uncaptured for more than **five days** are automatically **voided**." msgstr "" +#: ../../content/applications/finance/payment_providers/redsys.rst:3 +msgid "Redsys" +msgstr "" + +#: ../../content/applications/finance/payment_providers/redsys.rst:5 +msgid "`Redsys `_ is a Spain-based payment service provider that processes online and in-store payments for businesses across Europe. It allows merchants to accept major credit and debit cards, as well as other local payment methods supported by Spanish banks." +msgstr "" + +#: ../../content/applications/finance/payment_providers/redsys.rst:12 +msgid "Redsys account configuration" +msgstr "" + +#: ../../content/applications/finance/payment_providers/redsys.rst:14 +msgid "Contact your bank to request activation of an online payment terminal (TPV) with Redsys." +msgstr "" + +#: ../../content/applications/finance/payment_providers/redsys.rst:15 +msgid "`Log into your Redsys account `_ using the credentials provided by your bank." +msgstr "" + +#: ../../content/applications/finance/payment_providers/redsys.rst:18 +msgid "In the left-hand menu, navigate to :menuselection:`Merchant Configuration`." +msgstr "" + +#: ../../content/applications/finance/payment_providers/redsys.rst:19 +msgid "In the :guilabel:`Merchant Information` section, fill in the :guilabel:`Name`, :guilabel:`Merchant URL`, and :guilabel:`Merchant Email` fields." +msgstr "" + +#: ../../content/applications/finance/payment_providers/redsys.rst:21 +msgid "Set the fields in the :guilabel:`Configuration data` section as follows:" +msgstr "" + +#: ../../content/applications/finance/payment_providers/redsys.rst:23 +msgid ":guilabel:`Online notification`: :guilabel:`With online notification: HTTP`" +msgstr "" + +#: ../../content/applications/finance/payment_providers/redsys.rst:24 +msgid ":guilabel:`Synchronization`: :guilabel:`Synchronous`" +msgstr "" + +#: ../../content/applications/finance/payment_providers/redsys.rst:25 +msgid ":guilabel:`Parameters in the URLs`: :guilabel:`Yes`" +msgstr "" + +#: ../../content/applications/finance/payment_providers/redsys.rst:27 +msgid "Copy the merchant code and merchant terminal number displayed in the :guilabel:`Merchant management` section and save them for :ref:`later `." +msgstr "" + +#: ../../content/applications/finance/payment_providers/redsys.rst:29 +msgid "Click :guilabel:`See key`, enter your user identifier and password to display the key, and save it for :ref:`later `." +msgstr "" + +#: ../../content/applications/finance/payment_providers/redsys.rst:37 +msgid ":ref:`Navigate to the payment provider Redsys `." +msgstr "" + +#: ../../content/applications/finance/payment_providers/redsys.rst:38 +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 "" diff --git a/locale/sources/general.pot b/locale/sources/general.pot index d1eb065dc8..3e7912a331 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-10-20 14:56+0200\n" +"POT-Creation-Date: 2025-11-19 09:34+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -3255,7 +3255,7 @@ msgid "Log files for older dates are named using their dates and are compressed. msgstr "" #: ../../content/applications/general/email_communication/faq.rst:321 -msgid "For more information on logs and how to access them via the Odoo.sh dashboard, refer to the :ref:`Odoo.sh logs documentation `." +msgid "For more information on logs and how to access them via the Odoo.sh dashboard, refer to the :ref:`Odoo.sh logs documentation `." msgstr "" #: ../../content/applications/general/email_communication/faq.rst:324 @@ -6551,7 +6551,7 @@ msgid "In the :guilabel:`Update` popup that opens, click :guilabel:`Force Driver msgstr "" #: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:82 -msgid "If you have an :doc:`on-premise ` or :doc:`Odoo.sh ` database, the configured server must be up-to-date to ensure the handlers' code includes the latest fixes and patches." +msgid "If you have an :doc:`on-premise ` or :doc:`Odoo.sh ` database, the configured server must be up-to-date to ensure the handlers' code includes the latest fixes and patches." msgstr "" #: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:87 @@ -6743,7 +6743,7 @@ msgid "To install the Windows virtual IoT on a Windows computer:" msgstr "" #: ../../content/applications/general/iot/windows_iot.rst:37 -msgid "Download the `IoT installation package for Windows `_." +msgid "Access `Odoo's download page `_, scroll down to the :guilabel:`Virtual IOT` section, and click :guilabel:`Download`." msgstr "" #: ../../content/applications/general/iot/windows_iot.rst:39 diff --git a/locale/sources/hr.pot b/locale/sources/hr.pot index a54a47f148..b713974a34 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-10-20 14:56+0200\n" +"POT-Creation-Date: 2025-11-19 09:34+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1367,7 +1367,6 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:956 #: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:10 #: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:16 -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:11 #: ../../content/applications/hr/payroll/payroll_localizations/united_arab_emirates.rst:12 #: ../../content/applications/hr/time_off.rst:33 msgid "Configuration" @@ -2402,7 +2401,9 @@ msgstr "" #: ../../content/applications/hr/employees.rst:5 #: ../../content/applications/hr/employees.rst:64 +#: ../../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/united_arab_emirates.rst:35 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:89 msgid "Employees" @@ -2415,7 +2416,7 @@ msgstr "" #: ../../content/applications/hr/employees.rst:58 #: ../../content/applications/hr/fleet/new_vehicle.rst:16 #: ../../content/applications/hr/lunch.rst:19 -#: ../../content/applications/hr/payroll.rst:15 +#: ../../content/applications/hr/payroll.rst:38 #: ../../content/applications/hr/recruitment.rst:31 msgid "Settings" msgstr "" @@ -2473,11 +2474,11 @@ msgid "Work organization" msgstr "" #: ../../content/applications/hr/employees.rst:106 -msgid "Using the drop-down menu, select the default :guilabel:`Company Working Hours`. The default options are :guilabel:`Standard 40 hours/week`, :guilabel:`Appointment Resource Default Calendar`, and :guilabel:`Standard 32 hours/week (4 work days, friday free)`." +msgid "Using the drop-down menu, select the default :guilabel:`Company Working Hours`. The default options are :guilabel:`Standard 40 hours/week`, :guilabel:`Appointment Resource Default Calendar`, and :guilabel:`Standard 32 hours/week (4 work days, Friday free)`." msgstr "" #: ../../content/applications/hr/employees.rst:110 -msgid "The available working hours listed are the same as the configured :ref:`working schedules ` in the **Payroll** app. Working hours can be created and modified from both the **Payroll** and **Employees** apps." +msgid "The available working hours listed are the same as the configured :doc:`working schedules ` in the **Payroll** app. Working hours can be created and modified from both the **Payroll** and **Employees** apps." msgstr "" #: ../../content/applications/hr/employees.rst:115 @@ -2669,7 +2670,7 @@ msgid "Log a certification" msgstr "" #: ../../content/applications/hr/employees/certifications.rst:71 -msgid "To log a certification for an employee, navigate to :menuselection:`Employees app --> Reporting --> Certifications`. Click :guilabel:`New`, and a blank certification form loads. Enter the following information on the form:" +msgid "To log a certification for an employee, navigate to :menuselection:`Employees app --> Learning --> Certifications`. Click :guilabel:`New`, and a blank certification form loads. Enter the following information on the form:" msgstr "" #: ../../content/applications/hr/employees/certifications.rst:75 @@ -3136,7 +3137,6 @@ msgid "Resumé tab" msgstr "" #: ../../content/applications/hr/employees/new_employee.rst:98 -#: ../../content/applications/hr/payroll.rst:672 #: ../../content/applications/hr/recruitment/recruitment-flow.rst:35 msgid "Resumé" msgstr "" @@ -3674,7 +3674,9 @@ msgid ":guilabel:`Work Permit`: click :guilabel:`Upload your file`, then navigat msgstr "" #: ../../content/applications/hr/employees/new_employee.rst:524 +#: ../../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/united_states.rst:125 msgid "Payroll tab" msgstr "" @@ -3872,7 +3874,6 @@ msgstr "" #: ../../content/applications/hr/fleet/accidents.rst:48 #: ../../content/applications/hr/frontdesk.rst:35 #: ../../content/applications/hr/lunch/products.rst:12 -#: ../../content/applications/hr/payroll.rst:692 #: ../../content/applications/hr/time_off.rst:252 msgid "Enter the following information on the form:" msgstr "" @@ -4717,6 +4718,90 @@ msgstr "" msgid "To have this report appear as the default report when opening the :guilabel:`Services` dashboard, click the :icon:`fa-caret-down` :guilabel:`(Toggle Search Panel)` icon at the far-right of the search bar. Next, click :guilabel:`Save current search`, beneath the :icon:`fa-star` :guilabel:`Favorites` column, which reveals another drop-down column beneath it. Tick the checkbox beside :guilabel:`Default Filter`, then click :guilabel:`Save`. Then, this customized :guilabel:`Services` dashboard appears, by default, any time the :guilabel:`Services` dashboard is accessed." msgstr "" +#: ../../content/applications/hr/fleet/cost_analysis.rst:3 +msgid "Cost analysis report" +msgstr "" + +#: ../../content/applications/hr/fleet/cost_analysis.rst:5 +msgid "The **Fleet** app allows for analysis on :ref:`total vehicle costs `, including both contract costs and service and repair charges. Data can be adjusted to view total costs by :ref:`vehicle ` or :ref:`driver `. Additionally, costs can be compared with the previous year, quarter, or month, to view changes in fleet costs over time." +msgstr "" + +#: ../../content/applications/hr/fleet/cost_analysis.rst:13 +msgid "Total costs" +msgstr "" + +#: ../../content/applications/hr/fleet/cost_analysis.rst:15 +msgid "To view the *Cost Analysis Report*, navigate to :menuselection:`Fleet app --> Reporting --> Costs`. The default report shows a bar chart of service and contract costs for the current year, organized by month." +msgstr "" + +#: ../../content/applications/hr/fleet/cost_analysis.rst:20 +msgid "In this report, it is possible to determine that June had the highest total costs, with almost $14,000 dollars in contract and repair costs, while January had the lowest costs, with less than $2,000 of contract costs and no repairs." +msgstr "" + +#: ../../content/applications/hr/fleet/cost_analysis.rst:0 +msgid "The default cost analysis report showing contract and service costs." +msgstr "" + +#: ../../content/applications/hr/fleet/cost_analysis.rst:30 +msgid "Cost by vehicle" +msgstr "" + +#: ../../content/applications/hr/fleet/cost_analysis.rst:32 +msgid "Some companies want to view costs not by month, but by vehicle. This allows fleet managers to determine which vehicles cost the most to keep on the road, aiding in decision making for future purchases and repairs." +msgstr "" + +#: ../../content/applications/hr/fleet/cost_analysis.rst:36 +msgid "To view these metrics, open the default :ref:`cost analysis report `. Next, click into the search bar, and click :guilabel:`Vehicle` under the :icon:`oi-group` :guilabel:`Group By` column." +msgstr "" + +#: ../../content/applications/hr/fleet/cost_analysis.rst:41 +msgid "From this report, it can be determined the `Toyota Corolla` with the license plate `STU-1718` cost the most, with almost $14,000 in costs for the year. Additionally, the both `Nissan Micro` vehicles and the `Ford Focus` cost the least, with under $5,000 in total costs each." +msgstr "" + +#: ../../content/applications/hr/fleet/cost_analysis.rst:0 +msgid "The cost analysis report showing annual costs by vehicle." +msgstr "" + +#: ../../content/applications/hr/fleet/cost_analysis.rst:51 +msgid "Cost by driver" +msgstr "" + +#: ../../content/applications/hr/fleet/cost_analysis.rst:53 +msgid "Another useful metric is to determine which drivers incur the most repair costs, allowing fleet managers to determine which vehicles to assign which drivers. To view this configuration, open the default :ref:`cost analysis report `. Next, click into the search bar, and click :guilabel:`Driver` under the :icon:`oi-group` :guilabel:`Group By` column. Finally, click the :icon:`oi-view-pivot` :guilabel:`(Pivot)` icon." +msgstr "" + +#: ../../content/applications/hr/fleet/cost_analysis.rst:59 +msgid "The report now shows the totals for both :guilabel:`Contract` and :guilabel:`Service` costs for each driver in the database. This allows fleet managers to see which drivers incur the most repair costs." +msgstr "" + +#: ../../content/applications/hr/fleet/cost_analysis.rst:63 +msgid "This report shows that `Sandra Elvis` had no service costs for the year, while both `Doris Cole` and `David Armstrong` had almost $9,000 in repairs. While this does not explain why those two drivers incurred the most costs, it is possible for the fleet manager to :ref:`investigate the service records ` for those two drivers, to determine why there were such high costs for the year." +msgstr "" + +#: ../../content/applications/hr/fleet/cost_analysis.rst:0 +msgid "The cost analysis report showing costs by driver in a pivot table." +msgstr "" + +#: ../../content/applications/hr/fleet/cost_analysis.rst:73 +msgid "Detailed comparison" +msgstr "" + +#: ../../content/applications/hr/fleet/cost_analysis.rst:75 +msgid "All reports in the **Fleet** app are able to compare costs from previous time periods, either year, quarter, or month. To view a detailed cost comparison between the third and fourth quarter, open the default :ref:`cost analysis report `, then click the :icon:`oi-view-pivot` :guilabel:`(Pivot)` icon. Next, click into the search bar and click :guilabel:`Q4` in the :icon:`fa-filter` :guilabel:`Filters` column, then :guilabel:`Date: Previous Period` in the :icon:`fa-adjust` :guilabel:`Comparison` column." +msgstr "" + +#: ../../content/applications/hr/fleet/cost_analysis.rst:82 +msgid "The report now shows detailed contract and service costs for each vehicle, with a :guilabel:`Variation` column, showing increases or decreases in costs from the third and fourth quarter of the current year." +msgstr "" + +#: ../../content/applications/hr/fleet/cost_analysis.rst:88 +msgid "In this example, it can be determined that the `Ford Focus` had the greatest change in terms of lowered total costs, with a 75.25% reduction in costs. Additionally, the `Nissan Micro` with the license plate of `DEF-456` was the only vehicle with an overall increase in total costs, with an increase of 41.78%." +msgstr "" + +#: ../../content/applications/hr/fleet/cost_analysis.rst:0 +msgid "A pivot table with a detailed cost comparison between the current and previous year." +msgstr "" + #: ../../content/applications/hr/fleet/models.rst:3 msgid "Models & manufacturers" msgstr "" @@ -4826,7 +4911,6 @@ msgid ":guilabel:`Trailer Hitch`: Tick this checkbox if the vehicle has a traile msgstr "" #: ../../content/applications/hr/fleet/models.rst:90 -#: ../../content/applications/hr/payroll.rst:222 msgid "Salary" msgstr "" @@ -5384,59 +5468,59 @@ msgstr "" msgid "Different tabs or fields may be visible on the :guilabel:`Create Vendor` form, depending on what other applications are installed." msgstr "" -#: ../../content/applications/hr/fleet/service.rst:109 +#: ../../content/applications/hr/fleet/service.rst:111 msgid "View services" msgstr "" -#: ../../content/applications/hr/fleet/service.rst:111 +#: ../../content/applications/hr/fleet/service.rst:113 msgid "To view all services logged in the database, including old and new requests, navigate to :menuselection:`Fleet app --> Fleet --> Services`. All services appear in a list view, including all the details for each service." msgstr "" -#: ../../content/applications/hr/fleet/service.rst:115 +#: ../../content/applications/hr/fleet/service.rst:117 msgid "The service records are grouped by :ref:`service type `. The number of repairs for each service type appears in parentheses after the name of the service type." msgstr "" -#: ../../content/applications/hr/fleet/service.rst:118 +#: ../../content/applications/hr/fleet/service.rst:120 msgid "Each service listed displays the following information:" msgstr "" -#: ../../content/applications/hr/fleet/service.rst:120 +#: ../../content/applications/hr/fleet/service.rst:122 msgid ":guilabel:`Date`: the date that the service, or repair, was performed (or requested to be performed)." msgstr "" -#: ../../content/applications/hr/fleet/service.rst:122 +#: ../../content/applications/hr/fleet/service.rst:124 msgid ":guilabel:`Description`: a short description of the specific type of service, or repair, performed to clarify the specific service." msgstr "" -#: ../../content/applications/hr/fleet/service.rst:124 +#: ../../content/applications/hr/fleet/service.rst:126 msgid ":guilabel:`Service Type`: the type of service, or repair, performed. This is selected from a list of services that :ref:`must be configured `." msgstr "" -#: ../../content/applications/hr/fleet/service.rst:126 +#: ../../content/applications/hr/fleet/service.rst:128 msgid ":guilabel:`Vehicle`: the specific vehicle the service was performed on." msgstr "" -#: ../../content/applications/hr/fleet/service.rst:127 +#: ../../content/applications/hr/fleet/service.rst:129 msgid ":guilabel:`Driver`: the current driver for the vehicle." msgstr "" -#: ../../content/applications/hr/fleet/service.rst:128 +#: ../../content/applications/hr/fleet/service.rst:130 msgid ":guilabel:`Vendor`: the specific vendor who performed the service, or repair." msgstr "" -#: ../../content/applications/hr/fleet/service.rst:129 +#: ../../content/applications/hr/fleet/service.rst:131 msgid ":guilabel:`Notes`: any information associated with the service, or repair, that is documented to add clarification." msgstr "" -#: ../../content/applications/hr/fleet/service.rst:131 +#: ../../content/applications/hr/fleet/service.rst:133 msgid ":guilabel:`Cost`: the total cost of the service, or repair." msgstr "" -#: ../../content/applications/hr/fleet/service.rst:132 +#: ../../content/applications/hr/fleet/service.rst:134 msgid ":guilabel:`Stage`: the status of the service, or repair. Options are :guilabel:`New`, :guilabel:`Running`, :guilabel:`Done`, or :guilabel:`Cancelled`." msgstr "" -#: ../../content/applications/hr/fleet/service.rst:135 +#: ../../content/applications/hr/fleet/service.rst:137 msgid "At the bottom of the :guilabel:`Cost` column, the total cost of all services and repairs are listed." msgstr "" @@ -5686,7 +5770,6 @@ msgid "This is a security measure designed to prevent unauthorized access to the msgstr "" #: ../../content/applications/hr/frontdesk.rst:215 -#: ../../content/applications/hr/payroll/reporting.rst:3 #: ../../content/applications/hr/referrals/reporting.rst:3 #: ../../content/applications/hr/time_off/reporting.rst:3 msgid "Reporting" @@ -6990,10524 +7073,10837 @@ msgid "The second of the extras configured for a free beverage with purchase." msgstr "" #: ../../content/applications/hr/payroll.rst:5 -#: ../../content/applications/hr/payroll.rst:53 -#: ../../content/applications/hr/payroll/reporting.rst:31 +#: ../../content/applications/hr/payroll.rst:121 msgid "Payroll" msgstr "" #: ../../content/applications/hr/payroll.rst:7 -msgid "Odoo *Payroll* is used to process work entries and create payslips for employees. *Payroll* works in conjunction with other Odoo apps, such as *Employees*, *Time Off*, *Attendances*, and *Planning*." -msgstr "" - -#: ../../content/applications/hr/payroll.rst:10 -msgid "The *Payroll* app helps ensure there are no issues or conflicts when validating work entries. It also handles country-specific localizations to ensure payslips follow local rules and taxes, and allows for salary assignments." -msgstr "" - -#: ../../content/applications/hr/payroll.rst:17 -msgid "Configure the *Payroll* app by navigating to :menuselection:`Payroll app --> Configuration --> Settings`. The various settings for accounting, localizations, time off, alerts, and payslips are specified here." +msgid "Odoo's **Payroll** app is used to calculate employees' worked time in conjunction with other Odoo apps, such as **Employees**, **Time Off**, **Attendances**, and **Planning**, and create corresponding payslips." msgstr "" -#: ../../content/applications/hr/payroll.rst:24 -msgid "Accounting" +#: ../../content/applications/hr/payroll.rst:11 +msgid "When an employee is hired, they must sign a :doc:`contract `. The contract outlines how the employee is compensated, including the salary structure and rules their pay is calculated from, when they work (their `working schedule`), and what benefits they receive." msgstr "" -#: ../../content/applications/hr/payroll.rst:26 -msgid "The accounting section of the configuration menu relates to three options:" +#: ../../content/applications/hr/payroll.rst:16 +msgid "It is critical to install the correct :doc:`country-specific localization `, as this configures all local and national rules, regulations, and applicable taxes for the selected country." msgstr "" -#: ../../content/applications/hr/payroll.rst:28 -msgid ":guilabel:`Payroll Entries`: enable this option to post payroll slips in accounting." +#: ../../content/applications/hr/payroll.rst:20 +msgid "In addition to the employee contract, any :doc:`salary attachments ` must be configured before running payroll." msgstr "" -#: ../../content/applications/hr/payroll.rst:29 -msgid ":guilabel:`Payroll SEPA`: enable this option to create SEPA payments." +#: ../../content/applications/hr/payroll.rst:23 +msgid "When it is time to run payroll according to the business's schedule (monthly, weekly, bi-weekly, etc.), :doc:`payslips ` can be created individually or in :doc:`groups `. Odoo calculates when the employees worked based on their :doc:`work entries `. Work entries are created according to their :doc:`contracts `, based on information from the **Attendances**, **Planning**, or **Timesheets** apps. Any errors with work entries **must** be resolved *before* continuing to process payroll." msgstr "" #: ../../content/applications/hr/payroll.rst:30 -msgid ":guilabel:`Batch Account Move Lines`: enable this option to have a single account move line created from all the accounting entries from the same period. This disables the generation of single payments." +msgid "After all issues or conflicts are resolved, payslips are :ref:`processed `, and then :ref:`employees are paid `, either with a wire transfer or a physical check." msgstr "" #: ../../content/applications/hr/payroll.rst:35 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2518 -#: ../../content/applications/hr/time_off.rst:5 -msgid "Time off" +msgid "It is possible to pay employees with cash, but this is not recommended." msgstr "" -#: ../../content/applications/hr/payroll.rst:37 -msgid ":guilabel:`Deferred Time Off`: if time off is taken after payslips are validated, the time off needs to be applied to the following pay period. Select the person that will be notified for these specific time off situations using the drop-down menu in the :guilabel:`Responsible` field." +#: ../../content/applications/hr/payroll.rst:40 +msgid "Before running payroll, various settings for the **Payroll** app **must** be configured. Navigate to :menuselection:`Payroll app --> Configuration --> Settings`. The various settings for :ref:`accounting `, :ref:`localizations `, :ref:`time off `, and :ref:`general payroll settings ` are specified here." msgstr "" -#: ../../content/applications/hr/payroll.rst:42 -msgid "An employee is paid on the 15th of the month and the last day of the month. Payslips are typically processed a day before." +#: ../../content/applications/hr/payroll.rst:49 +msgid "Accounting" msgstr "" -#: ../../content/applications/hr/payroll.rst:45 -msgid "If an employee's payslip is approved and processed on the 30th, but that same employee takes an unexpected sick day on the 31st, the time off needs to be logged." +#: ../../content/applications/hr/payroll.rst:51 +msgid "Configure the following in the accounting section of the configuration menu:" msgstr "" -#: ../../content/applications/hr/payroll.rst:48 -msgid "Since the employee is already paid for a regular work day on the 31st, to keep the time off balances correct, the sick day is moved/applied to the 1st of the next month (the next pay period)." +#: ../../content/applications/hr/payroll.rst:53 +msgid ":guilabel:`Payroll Entries`: Enable this option to post payroll slips in the **Accounting** app, in a `Salaries` box on the main dashboard." msgstr "" #: ../../content/applications/hr/payroll.rst:55 -msgid ":guilabel:`Contract Expiration Notice Period`: enter the number of :guilabel:`Days` before a contract expires, and Odoo notifies the responsible person about the upcoming expiration at that time." +msgid ":guilabel:`Payroll SEPA`: Enable this option to create :abbr:`SEPA (Single Euro Payments Area)` payments." msgstr "" -#: ../../content/applications/hr/payroll.rst:58 -msgid ":guilabel:`Work Permit Expiration Notice Period`: enter the number of :guilabel:`Days` before a work permit expires, and Odoo notifies the responsible person about the upcoming expiration at that time." +#: ../../content/applications/hr/payroll.rst:57 +msgid ":guilabel:`Batch Account Move Lines`: Enable this option to have a single account move line created from all the accounting entries of the same period. This anonymizes accounting entries and disables the creation of individual payments." msgstr "" -#: ../../content/applications/hr/payroll.rst:61 -msgid ":guilabel:`Payslip PDF Display`: enable this option to show the payslip's PDF when the state is validated." +#: ../../content/applications/hr/payroll.rst:64 +msgid "Localizations" msgstr "" -#: ../../content/applications/hr/payroll.rst:67 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:29 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2766 -#: ../../content/applications/hr/payroll/work_entries.rst:3 -msgid "Work entries" +#: ../../content/applications/hr/payroll.rst:66 +#: ../../content/applications/hr/payroll/payroll_localizations.rst:7 +msgid "*Localizations* are country-specific settings preconfigured in Odoo at the creation of the database, which account for all taxes, fees, and allowances for that particular country." msgstr "" #: ../../content/applications/hr/payroll.rst:69 -msgid "A *work entry* is an individual record on an employee's timesheet. Work entries can be configured to account for all types of work and time off, such as :guilabel:`Attendance`, :guilabel:`Sick Time Off`, :guilabel:`Training`, or :guilabel:`Public Holiday`." -msgstr "" - -#: ../../content/applications/hr/payroll.rst:74 -msgid ":doc:`Manage work entries `" +msgid "The :guilabel:`Localization` section of the **Payroll** app :guilabel:`Settings` page includes specific settings that need to be configured for the specific country." msgstr "" -#: ../../content/applications/hr/payroll.rst:77 -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:786 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2776 -msgid "Work entry types" +#: ../../content/applications/hr/payroll.rst:72 +msgid "The settings and options shown in this section vary, depending on the :doc:`localization enabled ` for the database." msgstr "" -#: ../../content/applications/hr/payroll.rst:79 -msgid "When creating a work entry in the *Payroll* application, or when an employee enters new time off types in *Time Off* application, a :guilabel:`Work Entry Type` needs to be selected. The list of :guilabel:`Work Entry Types` is automatically created based on localization settings set in the database." +#: ../../content/applications/hr/payroll.rst:76 +msgid "It is **not** recommended to alter the localization settings, unless specifically required due to special circumstances. For example, a new law is passed that changes basic salary rules, or a company is exempt from specific taxes." msgstr "" -#: ../../content/applications/hr/payroll.rst:84 -msgid "To view the current work entry types available, go to :menuselection:`Payroll app --> Configuration --> Work Entries --> Work Entry Types`." +#: ../../content/applications/hr/payroll.rst:81 +msgid "Odoo can handle multi-company configurations. This is generally done when there is a main company or office location, such as a headquarters, with other offices or branches located either in the country or internationally, that fall under that main company or headquarters. In Odoo, each company, including the headquarters, **must** be set up as its own company or branch using the multi-company method." msgstr "" #: ../../content/applications/hr/payroll.rst:87 -msgid "Each work entry type has a code to aid in the creation of payslips, and to ensure all taxes and fees are correctly entered." +msgid "Each company can have a different localization setting, since locations can vary worldwide, where rules and laws differ." msgstr "" -#: ../../content/applications/hr/payroll.rst:-1 -msgid "List of all work entry types currently available for use, with the payroll code and color." +#: ../../content/applications/hr/payroll.rst:90 +msgid "For more information on companies, refer to the :doc:`companies <../general/companies>` documentation, or the :doc:`multi-company <../general/companies/multi_company>` documentation, which covers how to set up multiple companies." msgstr "" #: ../../content/applications/hr/payroll.rst:95 -msgid "New work entry type" -msgstr "" - -#: ../../content/applications/hr/payroll.rst:97 -msgid "To create a new :guilabel:`Work Entry Type`, click the :guilabel:`New` button, and enter the information for the following sections on the form." -msgstr "" - -#: ../../content/applications/hr/payroll.rst:101 -#: ../../content/applications/hr/payroll.rst:529 -#: ../../content/applications/hr/payroll/contracts.rst:50 -msgid "General information section" +#: ../../content/applications/hr/payroll.rst:153 +msgid ":doc:`payroll/payroll_localizations`" msgstr "" -#: ../../content/applications/hr/payroll.rst:103 -msgid ":guilabel:`Work Entry Type Name`: the name should be short and descriptive, such as `Sick Time` or `Public Holiday`." +#: ../../content/applications/hr/payroll.rst:100 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2518 +#: ../../content/applications/hr/time_off.rst:5 +msgid "Time off" msgstr "" -#: ../../content/applications/hr/payroll.rst:105 -msgid ":guilabel:`Payroll Code`: this code appears with the work entry type on timesheets and payslips. Since the code is used in conjunction with the *Accounting* application, it is advised to check with the accounting department for a code to use." +#: ../../content/applications/hr/payroll.rst:102 +msgid ":guilabel:`Deferred Time Off`: If time off is taken *after* payslips are validated, the time off must be applied to the following pay period to avoid cancelling then reprocessing payslips. Select the person responsible for these specific time off situations using the drop-down menu in the :guilabel:`Responsible` field." msgstr "" #: ../../content/applications/hr/payroll.rst:108 -msgid ":guilabel:`External Code`: this code is used for exporting data to a third-party payroll service. Check with the third-party being used to determine the :guilabel:`External Code` to enter for the new work entry type." +msgid "An employee is paid on the 15th of the month and the last day of the month. Payslips are typically processed one day before." msgstr "" #: ../../content/applications/hr/payroll.rst:111 -msgid ":guilabel:`Color`: select a color for the particular work entry type." +msgid "An employee's payslip is approved and processed on the 30th, but that same employee took an unexpected sick day on the 31st." msgstr "" #: ../../content/applications/hr/payroll.rst:114 -msgid "Display in payslip section" +msgid "Since the employee was already paid for a regular workday on the 31st, to keep the time off balances correct, the sick day is applied to the 1st of the next month (during the next pay period)." msgstr "" -#: ../../content/applications/hr/payroll.rst:116 -msgid ":guilabel:`Rounding`: the rounding method selected determines how quantities on timesheet entries are displayed on the payslip." +#: ../../content/applications/hr/payroll.rst:123 +msgid "The payroll section allows for the installation of a :doc:`payroll localization `. Click :icon:`oi-arrow-right` :guilabel:`Choose a Payroll Localization` and a Kanban view of all available payroll localizations loads. Click :guilabel:`Install` on the desired localization to install it. If a localization has been installed, only a :guilabel:`Module Info` button appears for that specific localization." msgstr "" -#: ../../content/applications/hr/payroll.rst:119 -msgid ":guilabel:`No Rounding`: entry is not modified." +#: ../../content/applications/hr/payroll.rst:129 +msgid "Once a localization has been installed, configure the following fields:" msgstr "" -#: ../../content/applications/hr/payroll.rst:120 -msgid ":guilabel:`Half Day`: entry is rounded to the closest half day amount." +#: ../../content/applications/hr/payroll.rst:131 +msgid ":guilabel:`Contract Expiration Notice Period`: Enter the number of :guilabel:`Days` before a contract expires, when Odoo notifies the responsible person about the upcoming expiration." msgstr "" -#: ../../content/applications/hr/payroll.rst:121 -msgid ":guilabel:`Day`: entry is rounded to the closest full day amount." +#: ../../content/applications/hr/payroll.rst:133 +msgid ":guilabel:`Payslip PDF Display`: Enable this option to show the payslip's PDF when the state is validated." msgstr "" -#: ../../content/applications/hr/payroll.rst:124 -msgid "If the working time is set to an 8-hour work day (40-hour work week), and an employee enters a time of 5.5 hours on a work entry, and :guilabel:`Rounding` is set to :guilabel:`No Rounding`, the entry remains 5.5 hours. If :guilabel:`Rounding` is set to :guilabel:`Half Day`, the entry is changed to 4 hours. If it is set to :guilabel:`Day`, it is changed to 8 hours." +#: ../../content/applications/hr/payroll.rst:135 +msgid ":guilabel:`Work Permit Expiration Notice Period`: Enter the number of :guilabel:`Days` before a work permit expires, when Odoo notifies the responsible person about the upcoming expiration." msgstr "" -#: ../../content/applications/hr/payroll.rst:130 -msgid "Unpaid section" +#: ../../content/applications/hr/payroll.rst:137 +msgid ":guilabel:`YTD Reset Date`: Enter the date when the :abbr:`YTD (Year To Date)` is reset to. By default, this field is set to January 1st." msgstr "" -#: ../../content/applications/hr/payroll.rst:132 -msgid ":guilabel:`Unpaid in Structures Types`: if the work entry is for work that is not paid, specify which pay structure the unpaid work entry applies to from the drop-down menu. Some situations where work is logged on a payslip, but no compensation given would be for unpaid internships, unpaid training, or volunteer work." +#: ../../content/applications/hr/payroll.rst:141 +msgid ":doc:`payroll/contracts`" msgstr "" -#: ../../content/applications/hr/payroll.rst:138 -msgid "Valid for advantages section" +#: ../../content/applications/hr/payroll.rst:142 +msgid ":doc:`payroll/salaries`" msgstr "" -#: ../../content/applications/hr/payroll.rst:140 -msgid ":guilabel:`Meal Voucher`: if the work entry should count towards a meal voucher, check the box." +#: ../../content/applications/hr/payroll.rst:143 +msgid ":doc:`payroll/work_entries`" msgstr "" -#: ../../content/applications/hr/payroll.rst:141 -msgid ":guilabel:`Representation Fees`: if the work entry should count towards representation fees, check the box." +#: ../../content/applications/hr/payroll.rst:144 +msgid ":doc:`payroll/working_schedules`" msgstr "" -#: ../../content/applications/hr/payroll.rst:143 -msgid ":guilabel:`Private Car Reimbursement`: if the work entry should count towards a private car reimbursement, check the box." +#: ../../content/applications/hr/payroll.rst:145 +msgid ":doc:`payroll/time_off_to_report`" msgstr "" -#: ../../content/applications/hr/payroll.rst:147 -msgid "Time off options section" +#: ../../content/applications/hr/payroll.rst:146 +msgid ":doc:`payroll/salary_attachments`" msgstr "" -#: ../../content/applications/hr/payroll.rst:149 -msgid ":guilabel:`Time Off`: check this box if the work entry type can be selected for a time off request, or entry, in the *Time Off* application." +#: ../../content/applications/hr/payroll.rst:147 +msgid ":doc:`payroll/payslips`" msgstr "" -#: ../../content/applications/hr/payroll.rst:152 -msgid "If :guilabel:`Time Off` is checked, a :guilabel:`Time Off Type` field appears. This field has a drop-down menu to select the specific types of time off, such as `Paid Time Off`, `Sick Time Off`, or `Extra Hours`, for example." +#: ../../content/applications/hr/payroll.rst:148 +msgid ":doc:`payroll/batches`" msgstr "" -#: ../../content/applications/hr/payroll.rst:156 -msgid "A new type of time off can be entered in the field, if the listed types of time off in the drop-down menu do **not** display the type of time off needed." +#: ../../content/applications/hr/payroll.rst:149 +msgid ":doc:`payroll/commissions`" msgstr "" -#: ../../content/applications/hr/payroll.rst:160 -msgid "Reporting section" +#: ../../content/applications/hr/payroll.rst:150 +msgid ":doc:`payroll/payroll_analysis`" msgstr "" -#: ../../content/applications/hr/payroll.rst:162 -msgid ":guilabel:`Unforeseen Absence`: if the work entry should be visible on the unforeseen absences report, check this box." +#: ../../content/applications/hr/payroll.rst:151 +msgid ":doc:`payroll/headcount`" msgstr "" -#: ../../content/applications/hr/payroll.rst:-1 -msgid "New work entry type form with all fields to be filled in." +#: ../../content/applications/hr/payroll.rst:152 +msgid ":doc:`payroll/work_entry_analysis`" msgstr "" -#: ../../content/applications/hr/payroll.rst:172 -msgid "Working schedules" +#: ../../content/applications/hr/payroll/batches.rst:3 +msgid "Batches" msgstr "" -#: ../../content/applications/hr/payroll.rst:174 -msgid "To view the currently configured working schedules, go to :menuselection:`Payroll app --> Configuration --> Work Entries --> Working Schedules`. The working schedules that are available for an employee's contracts are found in this list." +#: ../../content/applications/hr/payroll/batches.rst:5 +msgid "Batches are used to generate multiple :doc:`payslips ` at once and process them in a group, rather than create and process individual payslips. This method not only helps the payroll department pay employees in less time, but it also helps keep payslips organized." msgstr "" -#: ../../content/applications/hr/payroll.rst:178 -msgid "Working schedules are company-specific. Each company **must** identify each type of working schedule they use. If the database is created for only one company, the company column is not available." +#: ../../content/applications/hr/payroll/batches.rst:9 +msgid "Typically, a company's payroll department :ref:`creates a new batch ` for each salary structure, for every pay period (usually weekly, bi-weekly, or monthly). If desired, batches can be further organized by department, job position, or salary structure type." msgstr "" -#: ../../content/applications/hr/payroll.rst:182 -msgid "An Odoo database containing multiple companies that use a standard 40-hour work week needs to have a separate working schedule entry for each company that uses the 40-hour standard work week." +#: ../../content/applications/hr/payroll/batches.rst:13 +msgid "Once a batch is made, :ref:`payslips are added to the batch `, then the batch is processed, and employees are paid." msgstr "" -#: ../../content/applications/hr/payroll.rst:185 -msgid "A database with five companies that all use a standard 40-hour work week needs to have five separate 40-hour working schedules configured." +#: ../../content/applications/hr/payroll/batches.rst:17 +msgid "View batches" msgstr "" -#: ../../content/applications/hr/payroll.rst:-1 -msgid "All working schedules available to use currently set up in the database for the company." +#: ../../content/applications/hr/payroll/batches.rst:19 +msgid "To view all the batches in the database, navigate to :menuselection:`Payroll app --> Payslips --> Batches` to display all payslip batches that have been created. These payslip batches are displayed in a list view, by default." msgstr "" -#: ../../content/applications/hr/payroll.rst:195 -msgid "New working schedule" +#: ../../content/applications/hr/payroll/batches.rst:23 +msgid "Each batch displays the :guilabel:`Name`, the dates the batch includes (the :guilabel:`Date From` and :guilabel:`Date To` fields), its :guilabel:`Status`, the number of payslips in the batch (:guilabel:`Payslips Count`), and the :guilabel:`Company`." msgstr "" -#: ../../content/applications/hr/payroll.rst:197 -msgid "To create a new working schedule, click the :guilabel:`New` button, and enter the information on the form." +#: ../../content/applications/hr/payroll/batches.rst:-1 +msgid "View displaying all batches created." msgstr "" -#: ../../content/applications/hr/payroll.rst:200 -msgid "The fields are auto-populated for a regular 40-hour work week but can be modified. First, change the name of the working time by modifying the text in the :guilabel:`Name` field. Next, make any adjustments to the days and times that apply to the new working time." +#: ../../content/applications/hr/payroll/batches.rst:33 +msgid "Create a new batch" msgstr "" -#: ../../content/applications/hr/payroll.rst:204 -msgid "In the :guilabel:`Working Hours` tab, modify the :guilabel:`Day of Week`, :guilabel:`Day Period`, and :guilabel:`Work Entry Type` selections by clicking on the drop-down menus in each column and making the desired selection. The :guilabel:`Work From` and :guilabel:`Work To` columns are modified by typing in the time." +#: ../../content/applications/hr/payroll/batches.rst:35 +msgid "New batches of payslips must be created from the :guilabel:`Payslips Batches` dashboard, by navigating to :menuselection:`Payroll app --> Payslips --> Batches`. Click the :guilabel:`New` button in the top-left corner. Doing so reveals a blank payslip batch form on a separate page." msgstr "" -#: ../../content/applications/hr/payroll.rst:210 -msgid "The :guilabel:`Work From` and :guilabel:`Work To` times must be in a 24-hour format. For example, `2:00 PM` would be entered as `14:00`." +#: ../../content/applications/hr/payroll/batches.rst:39 +msgid "On the new payslip batch form, enter the :guilabel:`Batch Name`. This should be something short and descriptive, to keep records organized." msgstr "" -#: ../../content/applications/hr/payroll.rst:213 -msgid "If the working time should be in a two-week configuration, click the :guilabel:`Switch to 2 weeks calendar` button in the top-left. This creates entries for an :guilabel:`Even week` and an :guilabel:`Odd week`." +#: ../../content/applications/hr/payroll/batches.rst:43 +msgid "A company pays its employees on a bi-weekly basis, and creates separate batches for their two different :ref:`salary structures ` they use: worker pay and regular pay." msgstr "" -#: ../../content/applications/hr/payroll.rst:-1 -msgid "New working schedule form." +#: ../../content/applications/hr/payroll/batches.rst:47 +msgid "The names for their four August 2025 batches are:" msgstr "" -#: ../../content/applications/hr/payroll.rst:227 -msgid "Structure types" +#: ../../content/applications/hr/payroll/batches.rst:49 +msgid "`Aug 1-14 2025 - Worker`" msgstr "" -#: ../../content/applications/hr/payroll.rst:229 -msgid "In Odoo, structure types are used to identify group of people referring to the same payroll rules. A structure type contains specific options and a subset of structures that will be used according the situation." +#: ../../content/applications/hr/payroll/batches.rst:50 +msgid "`Aug 1-14 2025 - Regular`" msgstr "" -#: ../../content/applications/hr/payroll.rst:233 -msgid "In Odoo, an employee's payslip is based on *structures* and *structure types*, which both affect how an employee enters timesheets. Each structure type is an individual set of rules for processing a timesheet entry, which consists of different structures nested within it. Structure types define how often an employee gets paid, the working hours, and if wages are based on a salary (fixed) or how many hours the employee worked (varied)." +#: ../../content/applications/hr/payroll/batches.rst:51 +msgid "`Aug 15-31 2025 - Worker`" msgstr "" -#: ../../content/applications/hr/payroll.rst:239 -msgid "For example, a structure type could be `Employee`, and that structure type could have two different structures in it: a `Regular Pay` structure which includes all the separate rules for processing regular pay, as well as a structure for an `End of Year Bonus` which includes the rules only for the end of year bonus. Both the `Regular Pay` structure and `End of Year Bonus` structure are structures within the `Employee` structure type." +#: ../../content/applications/hr/payroll/batches.rst:52 +msgid "`Aug 15-31 2025 - Regular`" msgstr "" -#: ../../content/applications/hr/payroll.rst:245 -msgid "The different :guilabel:`Structure Types` can be seen by navigating to :menuselection:`Payroll app --> Configuration --> Salary: Structure Types`." +#: ../../content/applications/hr/payroll/batches.rst:54 +msgid "Next, select the date range to which the batch applies. Click into one of the :guilabel:`Period` fields, and a calendar pop-up window appears. From this calendar pop-up window, navigate to the correct month, and click on the corresponding day for both the start and end dates of the batch." msgstr "" -#: ../../content/applications/hr/payroll.rst:248 -msgid "Two default structure types are configured in Odoo: :guilabel:`Employee` and :guilabel:`Worker`." +#: ../../content/applications/hr/payroll/batches.rst:58 +msgid "The current company populates the :guilabel:`Company` field. If operating in a multi-company environment, it is **not** possible to modify the :guilabel:`Company` from the form. The batch **must** be created while in the database for the desired company." msgstr "" -#: ../../content/applications/hr/payroll.rst:250 -msgid "Typically, :guilabel:`Employee` is used for salaried employees, which is why the wage type is :guilabel:`Monthly Fixed Wage`, and :guilabel:`Worker` is typically used for employees paid by the hour, so the wage type is :guilabel:`Hourly Wage`." +#: ../../content/applications/hr/payroll/batches.rst:-1 +msgid "The details entered for the new batch." msgstr "" -#: ../../content/applications/hr/payroll.rst:-1 -msgid "List of all currently configured structure types available to use." +#: ../../content/applications/hr/payroll/batches.rst:68 +msgid "Add payslips to a batch" msgstr "" -#: ../../content/applications/hr/payroll.rst:261 -msgid "New structure type" +#: ../../content/applications/hr/payroll/batches.rst:70 +msgid "Once a :ref:`batch has been created `, payslips need to be added to the batch. Payslips can either be :ref:`created and added ` to the batch, or if they have *already* been created, they can be :ref:`added to the batch `." msgstr "" -#: ../../content/applications/hr/payroll.rst:263 -msgid "To make a new structure type, click the :guilabel:`New` button, and a blank structure type form appears." +#: ../../content/applications/hr/payroll/batches.rst:75 +msgid "Batches can only have payslips added to them when they are in the :guilabel:`New` stage. Payslips can either be :ref:`created by the database ` and added to the batch, or :ref:`pre-existing payslips can be individually added ` to the batch." msgstr "" -#: ../../content/applications/hr/payroll.rst:266 -msgid "Proceed to enter information in the fields. Most fields are pre-populated, but all the fields can be modified." +#: ../../content/applications/hr/payroll/batches.rst:79 +msgid "Once either of these methods has been used, the status of the batch changes to :guilabel:`Confirmed`, and both options to add payslips no longer appears." msgstr "" -#: ../../content/applications/hr/payroll.rst:269 -msgid ":guilabel:`Structure Type`: enter the name for the new structure type, such as `Employee` or `Worker`." +#: ../../content/applications/hr/payroll/batches.rst:85 +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:102 +msgid "Generate payslips" msgstr "" -#: ../../content/applications/hr/payroll.rst:271 -msgid ":guilabel:`Country`: select the country that the new structure type applies to from the drop-down menu." +#: ../../content/applications/hr/payroll/batches.rst:87 +msgid "To generate the payslips and add them to the batch, first open the batch by navigating to :menuselection:`Payroll app --> Payslips --> Batches`, and click on the desired batch. Next, click the :guilabel:`Generate Payslips` button and a :guilabel:`Generate Payslips` pop-up window loads." msgstr "" -#: ../../content/applications/hr/payroll.rst:273 -msgid ":guilabel:`Wage Type`: select what type of wage the new structure type uses, either :guilabel:`Fixed Wage` or :guilabel:`Hourly Wage`." +#: ../../content/applications/hr/payroll/batches.rst:91 +msgid "This form contains three sections, and the configuration of this form determines which payslips are created. The :guilabel:`Employees Selection` section determines which employees' payslips to create. Using the drop-down menus, configure the :guilabel:`Department`, :guilabel:`Job Position`, and :guilabel:`Salary Structure Type` fields, if desired. As selections are made, the :guilabel:`Employees` section at the bottom updates to show which payslips are going to be generated." msgstr "" -#: ../../content/applications/hr/payroll.rst:276 -msgid "If the type is to be used for salaried employees, who receive the same wage every pay period, select :guilabel:`Fixed Wage`." +#: ../../content/applications/hr/payroll/batches.rst:98 +msgid "The :guilabel:`Payslip Generation` section allows the user to pick a specific :guilabel:`Salary Structure` to create payslips for. If left blank, the default structure for each employee is used to calculate their pay." msgstr "" -#: ../../content/applications/hr/payroll.rst:279 -msgid "If the type is to be used for employees, who receive wages based on how many hours they worked during a pay period, select :guilabel:`Hourly Wage`." +#: ../../content/applications/hr/payroll/batches.rst:103 +msgid "By default, Odoo lists all employees in the :guilabel:`Employees` section when generating payslips." msgstr "" -#: ../../content/applications/hr/payroll.rst:281 -msgid ":guilabel:`Default Scheduled Pay`: select the typical pay schedule for the new structure type from the drop-down menu. Options are :guilabel:`Monthly`, :guilabel:`Quarterly`, :guilabel:`Semi-annually`, :guilabel:`Annually`, :guilabel:`Weekly`, :guilabel:`Bi-weekly`, :guilabel:`Bi-monthly`. This indicates how often this specific type of structure is paid out." +#: ../../content/applications/hr/payroll/batches.rst:106 +msgid "The list filters automatically as selections are made." msgstr "" -#: ../../content/applications/hr/payroll.rst:285 -msgid ":guilabel:`Default Working Hours`: select the default working hours for the new structure type from the drop-down menu. All available working hours for the currently selected company appear in the drop-down menu. The default working hours that are pre-configured in Odoo is the :guilabel:`Standard 40 hours/week` option. If the needed working hours do not appear in the list, a :ref:`new set of default working hours can be created `." +#: ../../content/applications/hr/payroll/batches.rst:108 +msgid "Configuration is optional unless a batch is being created **excluding** certain employees." msgstr "" -#: ../../content/applications/hr/payroll.rst:290 -msgid ":guilabel:`Regular Pay Structure`: type in the name for the regular pay structure. It will be used as the default option when generating payslips." +#: ../../content/applications/hr/payroll/batches.rst:110 +msgid "Once all the desired configurations have been made, click the :guilabel:`Generate` button, and all payslips are created and attached to the batch. Once generated, a :icon:`fa-book` :guilabel:`Payslips` smart button appears at the top, along with the number of payslips in the batch. Click this smart button to view a list of all the payslips in the batch." msgstr "" -#: ../../content/applications/hr/payroll.rst:292 -msgid ":guilabel:`Default Work Entry Type`: For employees whose contracts is referred under this structure type, the main work entry type used for all period of work is defined here. It will commonly be set as **Attendance**, :guilabel:`Overtime Hours`, :guilabel:`Generic Time Off`, :guilabel:`Compensatory Time Off`, :guilabel:`Home Working`, :guilabel:`Unpaid`, :guilabel:`Sick Time Off`, :guilabel:`Paid Time Off`, :guilabel:`Out Of Contract`, :guilabel:`Extra Hours`, and :guilabel:`Long Term Time Off`." +#: ../../content/applications/hr/payroll/batches.rst:115 +msgid "Once the payslips have been generated and attached to the batch, the status of the batch changes to :guilabel:`Confirmed`." msgstr "" -#: ../../content/applications/hr/payroll.rst:299 -msgid "To view all the options for the :guilabel:`Default Work Entry Type`, click the :guilabel:`Search More..` button at the bottom of the drop-down list." +#: ../../content/applications/hr/payroll/batches.rst:-1 +msgid "Payslips being generated for marketing and community managers." msgstr "" -#: ../../content/applications/hr/payroll.rst:302 -msgid "Depending on the localization settings, this list may contain more options in addition to the default options." +#: ../../content/applications/hr/payroll/batches.rst:124 +msgid "Add payslips" msgstr "" -#: ../../content/applications/hr/payroll.rst:-1 -msgid "New structure type form to fill out when creating a new structure type." +#: ../../content/applications/hr/payroll/batches.rst:126 +msgid "Instead of generating payslips, :ref:`individual payslips that have already been created ` can be added to a batch. Start by opening the desired batch by navigating to :menuselection:`Payroll app --> Payslips --> Batches`, and clicking on the desired batch." msgstr "" -#: ../../content/applications/hr/payroll.rst:312 -msgid "New default working hours" +#: ../../content/applications/hr/payroll/batches.rst:130 +msgid "Next, click the :guilabel:`Add Payslips` button, and an :guilabel:`Add Payslips` form loads in a pop-up window. All available payslips that have not yet been added to a batch, appear on the list." msgstr "" -#: ../../content/applications/hr/payroll.rst:314 -msgid "To make new default working hours, type the name for the new working hours in the :guilabel:`Default Working Hours` field on the new structure type form. Click :guilabel:`Create and edit`. A default working hours form pops up. The default working hours form has two sections, a general information section and a tab listing out all the individual working hours by day and time. When the form is completed, click :guilabel:`Save & Close`." +#: ../../content/applications/hr/payroll/batches.rst:134 +msgid "**All** payslips not yet assigned to a batch appear in the list, regardless of status (:guilabel:`Draft`, :guilabel:`Waiting`, :guilabel:`Paid`, or :guilabel:`Cancelled`). This allows already processed or cancelled payslips to be grouped retroactively for reporting or record keeping purposes." msgstr "" -#: ../../content/applications/hr/payroll.rst:320 -msgid ":guilabel:`Name`: type in the name for the new default working hours. This should be descriptive and clear to understand, such as `Standard 20 Hours/Week`." +#: ../../content/applications/hr/payroll/batches.rst:139 +msgid "Tick the checkbox next to each desired payslip to be added, then click the :guilabel:`Select` button at the bottom. All selected payslips are added to the batch, and the status of the batch changes to :guilabel:`Confirmed`. A :icon:`fa-book` :guilabel:`Payslips` smart button appears at the top, along with the number of payslips in the batch. Click this smart button to view a list of all the payslips in the batch." msgstr "" -#: ../../content/applications/hr/payroll.rst:322 -msgid ":guilabel:`Company`: select the company that can use these new default working hours from the drop-down menu. Blank field means it's available for all companies." +#: ../../content/applications/hr/payroll/batches.rst:-1 +#: ../../content/applications/hr/payroll/batches.rst:-1 +msgid "Adding individual payslips to a batch by selecting them form this list." msgstr "" -#: ../../content/applications/hr/payroll.rst:324 -msgid ":guilabel:`Average Hour Per Day`: the average hours per day field is auto-populated, based on the working hours configured in the :guilabel:`Working Hours` tab. This entry affects resource planning, since the average daily hours affect what resources can be used, and in what quantity, per work day." +#: ../../content/applications/hr/payroll/batches.rst:151 +msgid "Process a batch" msgstr "" -#: ../../content/applications/hr/payroll.rst:328 -msgid ":guilabel:`Timezone`: select the time zone to be used for the new default working hours from the drop-down menu." +#: ../../content/applications/hr/payroll/batches.rst:153 +msgid "After a :ref:`batch has been created ` , and :ref:`all required payslips have been added `, the batch must then be processed, and employees paid." msgstr "" -#: ../../content/applications/hr/payroll.rst:330 -msgid ":guilabel:`Company Full Time`: enter the number of hours per week an employee would need to work to be considered a full-time employee. Typically, this is approximately 40 hours, and this number affects what types of benefits an employee can receive, based on their employment status (full-time vs part-time)." +#: ../../content/applications/hr/payroll/batches.rst:156 +msgid "Open the desired batch by navigating to :menuselection:`Payroll app --> Payslips --> Batches`, and clicking on the desired batch. For a batch to be processed, it must have a status of :guilabel:`Confirmed`. That means the batch has been created and payslips have been added to them, but the payslips have *not* been processed yet." msgstr "" -#: ../../content/applications/hr/payroll.rst:334 -msgid ":guilabel:`Work Time Rate`: this percentage is auto-generated based on the entry for the :guilabel:`Company Full Time` and the working hours configured in the :guilabel:`Working Hours` tab. This number should be between `0.00%` and `100%`, so if the percentage is above `100%`, it is an indication that the working times and/or :guilabel:`Company Full Time` hours need adjustment." +#: ../../content/applications/hr/payroll/batches.rst:161 +msgid "Click the :guilabel:`Create Draft Entry` button to confirm and create a draft of the individual payslips. After this occurs, the batch status changes to :guilabel:`Done`." msgstr "" -#: ../../content/applications/hr/payroll.rst:338 -msgid ":guilabel:`Working Hours` Tab: this tab is where each day's specific working hours are listed. When a new default working hour form is created, the :guilabel:`Working Hours` tab is pre-populated with a default 40-hour week, with each day divided into three timed sections." +#: ../../content/applications/hr/payroll/batches.rst:165 +msgid "At any time, the batch needs to be reverted back to a status of :guilabel:`New`, click the :guilabel:`Set to Draft` button. This action does **not** remove any payslips that have already been added to the batch, instead, the status changes back to :guilabel:`New`." msgstr "" -#: ../../content/applications/hr/payroll.rst:342 -msgid "Every day has morning (8:00-12:00), lunch (12:00-13:00), and evening (13:00-17:00) hours configured, using a 24 hour time format." +#: ../../content/applications/hr/payroll/batches.rst:169 +msgid "After any desired changes have been made, click :guilabel:`Confirm` and the batch status changes to :guilabel:`Confirmed`." msgstr "" -#: ../../content/applications/hr/payroll.rst:345 -msgid "To adjust any of these hours, click on the specific field to adjust, and make the adjustment using the drop-down menus, or in the specific case of the times, type in the desired time." +#: ../../content/applications/hr/payroll/batches.rst:172 +msgid "It is important to note, that if any payslips in the batch have a status of :guilabel:`Paid`, the batch **cannot** revert to a status of :guilabel:`New`." msgstr "" -#: ../../content/applications/hr/payroll.rst:348 -msgid "Keep in mind, working hours are company-specific, and cannot be shared between companies. Each company needs to have their own working hours set." +#: ../../content/applications/hr/payroll/batches.rst:175 +msgid "Once the status has changed to :guilabel:`Done`, the payments must be logged in the database. Click the :guilabel:`Create Payment Report` button, and a pop-up window loads, where the payment report details are entered." msgstr "" -#: ../../content/applications/hr/payroll.rst:352 -msgid "If the working hours are not consistent each week, and the hours are on a bi-weekly schedule instead, click the :guilabel:`Switch to 2 week calendar` button at the top of the new default working hours form. This changes the :guilabel:`Working Hours` tab to display two weeks of working times that can be adjusted." +#: ../../content/applications/hr/payroll/batches.rst:179 +msgid "Using the drop-down menu, select the :guilabel:`Export Format` for the payment report. The two default options available are :guilabel:`NACHA`, and :guilabel:`CSV`." msgstr "" -#: ../../content/applications/hr/payroll.rst:358 -msgid "Structures" +#: ../../content/applications/hr/payroll/batches.rst:182 +msgid "The :guilabel:`NACHA` option creates a compatible ACH file which is sent to the company's bank, and outlines all the banking information to transfer money from the company to the employees, either via direct deposit (most common) or a check. Refer to the :ref:`fiscal localization document ` for more information." msgstr "" -#: ../../content/applications/hr/payroll.rst:360 -msgid "*Salary structures* are the different situations an employee could be paid within a specific *structure*, and are specifically defined by various rules." +#: ../../content/applications/hr/payroll/batches.rst:188 +#: ../../content/applications/hr/payroll/payslips.rst:222 +msgid "Other options may be available depending on the :doc:`payroll localization ` installed in the database." msgstr "" -#: ../../content/applications/hr/payroll.rst:363 -msgid "The amount of structures a company needs for each structure type depends on how many different ways employees are paid, and how their pay is calculated. For example, a common structure that could be useful to add may be a `Bonus`." +#: ../../content/applications/hr/payroll/batches.rst:191 +msgid "If :guilabel:`CSV` is selected, all other fields are hidden form view. Once this is selected, click the :guilabel:`Generate` button to create the payment report." msgstr "" -#: ../../content/applications/hr/payroll.rst:367 -msgid "To view all the various structures for each structure type, go to :menuselection:`Payroll app --> Configuration --> Salary --> Structures`." +#: ../../content/applications/hr/payroll/batches.rst:194 +msgid "Next, select the desired :guilabel:`Bank Journal` the paychecks are logged on. Last, using the calendar selector, set the date the paychecks are issued in the :guilabel:`Effective Date` field." msgstr "" -#: ../../content/applications/hr/payroll.rst:370 -msgid "Each :ref:`structure type ` lists the various structures associated with it. Each structure contains a set of rules that define it." +#: ../../content/applications/hr/payroll/batches.rst:197 +msgid "Once the pop-up window is configured, click the :guilabel:`Generate` button, and the file appears on the batch form, in a new :guilabel:`Payment Report` field." msgstr "" -#: ../../content/applications/hr/payroll.rst:-1 -msgid "All available salary structures." +#: ../../content/applications/hr/payroll/batches.rst:200 +msgid "After the report is created, click the :guilabel:`Mark as paid` button to mark the payslips as paid in the database." msgstr "" -#: ../../content/applications/hr/payroll.rst:377 -msgid "Click on a structure to view its :guilabel:`Salary Rules`. These rules define how the payslip will be computed for the employee." +#: ../../content/applications/hr/payroll/commissions.rst:4 +#: ../../content/applications/hr/payroll/payroll_localizations/united_arab_emirates.rst:360 +msgid "Commissions" msgstr "" -#: ../../content/applications/hr/payroll.rst:-1 -msgid "Salary structure details for Regular Pay, listing all the specific Salary Rules." +#: ../../content/applications/hr/payroll/commissions.rst:6 +msgid "Commissions are payments made to employees that are earned as part of their salary. The payments are awarded after a sale has been made, and the amount depends on how much the sale was. Typically the amount is either a percentage of the sale, or a set commission based on a structure created by the company." msgstr "" -#: ../../content/applications/hr/payroll.rst:385 -#: ../../content/applications/hr/time_off.rst:302 -msgid "Rules" +#: ../../content/applications/hr/payroll/commissions.rst:11 +msgid "To pay an employee a commission they earned, a separate commission paycheck must be issued to the employee. In Odoo, a commission payslip is referred to as a *warrant payslip*." msgstr "" -#: ../../content/applications/hr/payroll.rst:387 -msgid "Each structure has a set of salary rules used to compute the various amounts considered in the pay. These rules are configured by the localization and affect the computation of the salaries. Modification or creation of rules should only be done when necessary." +#: ../../content/applications/hr/payroll/commissions.rst:15 +msgid "Create warrant payslips" msgstr "" -#: ../../content/applications/hr/payroll.rst:391 -msgid "To view all the rules, go to :menuselection:`Payroll app --> Configuration --> Salary --> Rules`. Click on a structure (such as :guilabel:`Regular Pay`) to view all the rules." +#: ../../content/applications/hr/payroll/commissions.rst:17 +msgid "Warrant payslips are generated directly from the :guilabel:`Payslips Batches` dashboard, which is accessed by navigating to :menuselection:`Payroll app --> Payslips --> Batches`." msgstr "" -#: ../../content/applications/hr/payroll.rst:394 -msgid "To make a new rule, click :guilabel:`New`. A new rule form appears. Enter the following information in the fields." +#: ../../content/applications/hr/payroll/commissions.rst:20 +msgid "First, click the :guilabel:`Generate Warrant Payslips` button in the top-left corner. Doing so reveals a :guilabel:`Generate Warrant Payslips` pop-up window, in which the necessary information **must** be filled out." msgstr "" -#: ../../content/applications/hr/payroll.rst:398 -msgid "Top section" +#: ../../content/applications/hr/payroll/commissions.rst:24 +msgid "Set the time frame the commission was earned, in the two fields next to :guilabel:`Period`. Click into each field, and a calendar pop-up window loads. Navigate to the desired date and click on it to select it." msgstr "" -#: ../../content/applications/hr/payroll.rst:400 -msgid ":guilabel:`Rule Name`: enter a name for the rule. This field is required." +#: ../../content/applications/hr/payroll/commissions.rst:28 +msgid "Using the drop-down menu, select the :guilabel:`Department` in the corresponding field. When a department is selected, the employees listed for that department appear in the :guilabel:`Employee` section, below." msgstr "" -#: ../../content/applications/hr/payroll.rst:401 -msgid ":guilabel:`Category`: select a category the rule applies to from the drop-down menu, or enter a new one. This field is required." +#: ../../content/applications/hr/payroll/commissions.rst:32 +msgid "If a file is needed for the record, upload a file to the :guilabel:`Import File` field, such as a sales invoice, using the :guilabel:`Upload your file` button. Any file type is accepted." msgstr "" -#: ../../content/applications/hr/payroll.rst:403 -msgid ":guilabel:`Code`: enter a code to be used for this new rule. This field is required." +#: ../../content/applications/hr/payroll/commissions.rst:35 +msgid "Under the :guilabel:`Employee` section, enter the individual :guilabel:`Commission Amount` for each employee in the far-right column. To remove an employee, click the :icon:`fa-trash-o` :guilabel:`(trash)` icon to remove the line." msgstr "" -#: ../../content/applications/hr/payroll.rst:404 -msgid ":guilabel:`Sequence`: enter a number indicating when this rule is calculated in the sequence of all other rules." +#: ../../content/applications/hr/payroll/commissions.rst:39 +msgid "Add a new commission by clicking :guilabel:`Add a Line`, and entering the :guilabel:`Employee` and the appropriate :guilabel:`Commission Amount`." msgstr "" -#: ../../content/applications/hr/payroll.rst:406 -msgid ":guilabel:`Salary Structure`: select a salary structure the rule applies to from the drop-down menu, or enter a new one. This field is required." +#: ../../content/applications/hr/payroll/commissions.rst:42 +msgid "Once all the commissions are properly entered, click the :guilabel:`Generate Payslips` button to create the warrant payslips in a batch, or click :guilabel:`Export` to export a CSV file of the commissions." msgstr "" -#: ../../content/applications/hr/payroll.rst:408 -msgid ":guilabel:`Active`: enable this toggle, so the rule is available for use. Disable the toggle to continue to show it on the payslip, but skip the computation." +#: ../../content/applications/hr/payroll/commissions.rst:46 +msgid ":ref:`Process the batch ` in the same way as a typical batch to complete the payment process." msgstr "" -#: ../../content/applications/hr/payroll.rst:410 -msgid ":guilabel:`Appears on payslip`: tick the checkbox to have the rule appear on employee printed payslip." +#: ../../content/applications/hr/payroll/commissions.rst:-1 +msgid "Enter the commission details." msgstr "" -#: ../../content/applications/hr/payroll.rst:412 -msgid ":guilabel:`View on Employer Cost Dashboard`: tick the checkbox to have the rule appear on the :guilabel:`Employer Cost` report, located on the *Payroll* app dashboard." +#: ../../content/applications/hr/payroll/commissions.rst:53 +msgid ":doc:`Commissions <../../sales/sales/commissions>`" msgstr "" -#: ../../content/applications/hr/payroll.rst:414 -msgid ":guilabel:`View on Payroll Reporting`: tick the checkbox to have the rule appear on payroll reports." +#: ../../content/applications/hr/payroll/contracts.rst:3 +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:77 +#: ../../content/applications/hr/payroll/payroll_localizations/united_arab_emirates.rst:52 +msgid "Contracts" msgstr "" -#: ../../content/applications/hr/payroll.rst:-1 -msgid "Enter the information for the new rule on the new rule form." +#: ../../content/applications/hr/payroll/contracts.rst:5 +msgid "Every employee in Odoo is required to have a running contract in order to be paid. A contract outlines the terms of an employee's position, compensation, working hours, and any other relevant terms." msgstr "" -#: ../../content/applications/hr/payroll.rst:422 -msgid "General tab" +#: ../../content/applications/hr/payroll/contracts.rst:10 +msgid "Contract documents (PDFs) are uploaded and organized using the **Documents** application, and are signed using the **Sign** application. Ensure these applications are installed to send and sign contracts. Please refer to the :doc:`../../productivity/documents` and :doc:`../../productivity/sign` documentation for more information." msgstr "" -#: ../../content/applications/hr/payroll.rst:425 -msgid "Conditions" +#: ../../content/applications/hr/payroll/contracts.rst:18 +msgid "Contracts dashboard" msgstr "" -#: ../../content/applications/hr/payroll.rst:427 -msgid ":guilabel:`Condition Based on`: select from the drop-down menu whether the rule is :guilabel:`Always True` (always applies), a :guilabel:`Range` (applies to a specific range, which is entered beneath the selection), or a :guilabel:`Python Expression` (the code is entered beneath the selection). This field is required." +#: ../../content/applications/hr/payroll/contracts.rst:20 +msgid "Both the **Payroll** and **Employees** apps display *identical employee contract information*." msgstr "" -#: ../../content/applications/hr/payroll.rst:433 -msgid "Computation" +#: ../../content/applications/hr/payroll/contracts.rst:22 +msgid "To access the contracts dashboard from the **Employees** app, navigate to :menuselection:`Employees app --> Employees --> Contracts`. To access the contracts dashboard from the **Payroll** app, navigate to :menuselection:`Payroll app --> Contracts --> Contracts`." msgstr "" -#: ../../content/applications/hr/payroll.rst:435 -msgid ":guilabel:`Amount Type`: select from the drop-down menu whether the amount is a :guilabel:`Fixed Amount`, a :guilabel:`Percentage (%)`, or a :guilabel:`Python Code`. Depending on what is selected, the fixed amount, percentage, or Python code needs to be entered next. This field is required." +#: ../../content/applications/hr/payroll/contracts.rst:26 +msgid "The :guilabel:`Contracts` dashboard displays all employee contracts in a default list view, grouped by :guilabel:`Status`. The available status groupings are :guilabel:`New`, :guilabel:`Running`, :guilabel:`Expired`, and :guilabel:`Cancelled`. Each grouping displays the number of contracts within the grouping." msgstr "" -#: ../../content/applications/hr/payroll.rst:441 -msgid "Company contribution" +#: ../../content/applications/hr/payroll/contracts.rst:-1 +msgid "Contracts dashboard view showing running contracts and contracts with issues." msgstr "" -#: ../../content/applications/hr/payroll.rst:443 -msgid ":guilabel:`Partner`: if another company financially contributes to this rule, select the company from the drop-down menu." +#: ../../content/applications/hr/payroll/contracts.rst:35 +msgid "Any changes made to contracts in the **Employees** app is reflected in the **Payroll** app, and vice versa. Contract information remains identical, regardless of where the contract information is accessed." msgstr "" -#: ../../content/applications/hr/payroll.rst:447 -#: ../../content/applications/hr/payroll.rst:613 -msgid "Description tab" +#: ../../content/applications/hr/payroll/contracts.rst:42 +msgid "Create a contract" msgstr "" -#: ../../content/applications/hr/payroll.rst:449 -msgid "Provide any additional information in this tab to help clarify the rule. This tab only appears in the rule form." +#: ../../content/applications/hr/payroll/contracts.rst:44 +msgid "To create a new contract, click the :guilabel:`New` button on the :ref:`Contracts dashboard `, and a blank contract form appears." msgstr "" -#: ../../content/applications/hr/payroll.rst:453 -msgid "Accounting tab" +#: ../../content/applications/hr/payroll/contracts.rst:50 +#: ../../content/applications/hr/payroll/work_entries.rst:252 +msgid "General information section" msgstr "" -#: ../../content/applications/hr/payroll.rst:455 -msgid ":guilabel:`Debit Account`: select the debit account from the drop-down menu the rule affects." +#: ../../content/applications/hr/payroll/contracts.rst:52 +msgid "Enter the following information in the top-half of the blank contract form:" msgstr "" -#: ../../content/applications/hr/payroll.rst:456 -msgid ":guilabel:`Credit Account`: select the credit account from the drop-down menu the rule affects." +#: ../../content/applications/hr/payroll/contracts.rst:54 +msgid ":guilabel:`Contact Reference`: Type in the name or title for the contract, such as `John Smith Contract`. This field is **required**." msgstr "" -#: ../../content/applications/hr/payroll.rst:457 -msgid ":guilabel:`Not computed in net accountability`: If checked, the amount of the rule will be show independantly from the Net Salary, to allow a better reporting in Accounting." +#: ../../content/applications/hr/payroll/contracts.rst:56 +msgid ":guilabel:`Employee`: Using the drop-down menu, select the employee the contract is for." msgstr "" -#: ../../content/applications/hr/payroll.rst:461 -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:730 -msgid "Other input types" +#: ../../content/applications/hr/payroll/contracts.rst:57 +msgid ":guilabel:`Contract Start Date`: Select the date the contract goes into effect. Contracts can be created retroactively, or be created to begin at a future date. The current date populates this required field by default, but can be modified." msgstr "" -#: ../../content/applications/hr/payroll.rst:463 -msgid "When creating payslips, it is sometimes necessary to add other entries for specific circumstances, like expenses, reimbursements, or deductions. These other inputs can be configured by navigating to :menuselection:`Payroll app --> Configuration --> Salary --> Other Input Types`." +#: ../../content/applications/hr/payroll/contracts.rst:60 +msgid ":guilabel:`Contract End Date`: If the contract has a firm end date, enter the date in this field. Leave this field blank if the contract runs indefinitely, or until a new contract is made (when the employee has a change to their job title, salary, or benefits)." msgstr "" -#: ../../content/applications/hr/payroll.rst:-1 -msgid "A list of other input types for payroll that can be selected when creating a new entry for\n" -"a payslip." +#: ../../content/applications/hr/payroll/contracts.rst:63 +msgid ":guilabel:`Working Schedule`: Select one of the available working schedules the employee is expected to work, from the drop-down menu. The selected working schedule determines how :doc:`work entries ` are generated, which determines the employees schedule and compensation. If this field is left blank, this allows the employee to work as many or as few hours as desired every week, with no restrictions." msgstr "" -#: ../../content/applications/hr/payroll.rst:472 -msgid "To create a new input type, click the :guilabel:`New` button. Enter the :guilabel:`Description`, the :guilabel:`Code`, and which structure it applies to in the :guilabel:`Availability in Structure` field." +#: ../../content/applications/hr/payroll/contracts.rst:70 +msgid "The :guilabel:`Working Schedule` drop-down menu displays all the working schedules for the selected company. To modify or add to this list, go to :menuselection:`Payroll app --> Configuration --> Working Schedules`. Click :guilabel:`New`, and create a new working schedule, or click on an existing working schedule and make edits." msgstr "" -#: ../../content/applications/hr/payroll.rst:477 -msgid "The :guilabel:`Code` is used in the salary rules to compute payslips. If the :guilabel:`Availability in Structure` field is left blank, it indicates that the new input type is available for all payslips and is not exclusive to a specific structure." +#: ../../content/applications/hr/payroll/contracts.rst:77 +msgid ":guilabel:`Work Entry Source`: Using the drop-down menu, select how the :doc:`work entries ` are generated. This field is **required**. Click the radio button next to the desired selection. The options are:" msgstr "" -#: ../../content/applications/hr/payroll.rst:-1 -msgid "A new Input Type form filled in." +#: ../../content/applications/hr/payroll/contracts.rst:81 +msgid ":guilabel:`Working Schedule`: Work entries are generated based on the selected :guilabel:`Working Schedule`." msgstr "" -#: ../../content/applications/hr/payroll.rst:488 -#: ../../content/applications/hr/recruitment.rst:69 -msgid "Salary package configurator" +#: ../../content/applications/hr/payroll/contracts.rst:83 +msgid ":guilabel:`Attendances`: Work entries are generated based on the employee's check-in records in the **Attendances** app. (This requires the **Attendances** app to be installed)." msgstr "" -#: ../../content/applications/hr/payroll.rst:490 -msgid "The various options under the :guilabel:`Salary Package Configurator` section of the :menuselection:`Payroll app --> Configuration --> Salary Package Configurator` menu all affect an employee's potential salary." +#: ../../content/applications/hr/payroll/contracts.rst:85 +msgid ":guilabel:`Planning`: Work entries are generated based on the planned schedule for the employee from the **Planning** app. (This requires the **Planning** app to be installed)." msgstr "" -#: ../../content/applications/hr/payroll.rst:494 -msgid "Depending on what information an employee enters (such as deductions, dependents, etc.), their salary is adjusted accordingly. When an applicant applies for a job on the company website, the sections under :guilabel:`Salary Package Configurator` directly affect what the applicant sees, and what is populated, as the applicant enters information." +#: ../../content/applications/hr/payroll/contracts.rst:88 +msgid ":guilabel:`Salary Structure Type`: Select one of the salary structure types from the drop-down menu. The default salary structure types are :guilabel:`Employee` or :guilabel:`Worker`. A :ref:`new salary structure type ` can be created, if needed." msgstr "" -#: ../../content/applications/hr/payroll.rst:500 -msgid "Benefits" +#: ../../content/applications/hr/payroll/contracts.rst:91 +msgid ":guilabel:`Department`: Select the department the employee is working within, using the drop-down menu." msgstr "" -#: ../../content/applications/hr/payroll.rst:502 -msgid "When offering potential employees a position, there can be certain benefits set in Odoo, in addition to the salary, to make an offer more appealing (such as extra time off, the use of a company car, reimbursement for a phone or internet, etc.)." +#: ../../content/applications/hr/payroll/contracts.rst:93 +msgid ":guilabel:`Job Position`: Select the employee's specific job position using the drop-down menu." msgstr "" -#: ../../content/applications/hr/payroll.rst:506 -msgid "To view the benefits, go to :menuselection:`Payroll app --> Configuration --> Salary Package Configurator: Benefits`. Benefits are grouped by :guilabel:`Structure type`, and the benefit listed for a particular structure type is only available for that specific structure." +#: ../../content/applications/hr/payroll/contracts.rst:96 +msgid "If the selected :guilabel:`Job Position` has a contract template linked to it with a specific :guilabel:`Salary Structure Type`, the :guilabel:`Salary Structure Type` changes to the one associated with that :guilabel:`Job Position`." msgstr "" -#: ../../content/applications/hr/payroll.rst:-1 -msgid "A list view of all the benefits available for each structure type." +#: ../../content/applications/hr/payroll/contracts.rst:100 +msgid ":guilabel:`Contract Type`: Using the drop-down menu, select the type of contract being created. The default options are :guilabel:`Permanent`, :guilabel:`Temporary`, :guilabel:`Seasonal`, :guilabel:`Full-Time`, :guilabel:`Intern`, :guilabel:`Student`, :guilabel:`Apprenticeship`, :guilabel:`Thesis`, :guilabel:`Statutory`, and :guilabel:`Employee`." msgstr "" -#: ../../content/applications/hr/payroll.rst:515 -msgid "A company has two structure types, one labeled :guilabel:`Employee`, and another labeled :guilabel:`Intern`. The :guilabel:`Employee` structure type contains the benefit of using a company car, while the :guilabel:`Intern` structure type has a meal voucher benefit available." +#: ../../content/applications/hr/payroll/contracts.rst:104 +msgid ":guilabel:`Wage on Payroll`: Enter the employee's monthly wage in this field." msgstr "" -#: ../../content/applications/hr/payroll.rst:519 -msgid "A person hired under the :guilabel:`Employee` structure type can use the company car benefit, but cannot have meal vouchers. A person hired under the :guilabel:`Intern` structure type would have meal voucher benefits available to them, not the use of a company car." +#: ../../content/applications/hr/payroll/contracts.rst:107 +msgid "The :guilabel:`Working Schedule` drop-down menu displays all the working times for the selected :guilabel:`Company`. To modify or add to this list, go to :menuselection:`Payroll app --> Configuration --> Working Times`, and either :guilabel:`Create` a new working time, or click on an existing working time, then edit it by clicking :guilabel:`Edit`." msgstr "" -#: ../../content/applications/hr/payroll.rst:523 -msgid "To make a new benefit, click the :guilabel:`New` button, and enter the information in the fields on the blank benefits form." +#: ../../content/applications/hr/payroll/contracts.rst:112 +msgid ":guilabel:`HR Responsible`: Select the person who is responsible for validating the contract using the drop-down menu. This field is required." msgstr "" -#: ../../content/applications/hr/payroll.rst:526 -msgid "The various fields for creating a benefit are as follows:" +#: ../../content/applications/hr/payroll/contracts.rst:116 +msgid "The :guilabel:`HR Responsible` field only appears if the **Salary Configurator** (`hr_contract_salary`) module and the **Sign** app are both installed." msgstr "" -#: ../../content/applications/hr/payroll.rst:531 -msgid ":guilabel:`Contract Related Field`: select from the drop-down menu a field from the contract. The choosen value from the employee will be recorded to that field." +#: ../../content/applications/hr/payroll/contracts.rst:-1 +msgid "New contract form to be filled in when creating a new contract." msgstr "" -#: ../../content/applications/hr/payroll.rst:533 -msgid ":guilabel:`Benefits`: enter the name for the benefit. This field is required." +#: ../../content/applications/hr/payroll/contracts.rst:123 +#: ../../content/applications/hr/payroll/contracts.rst:332 +msgid "Salary information tab" msgstr "" -#: ../../content/applications/hr/payroll.rst:534 -msgid ":guilabel:`Benefit Type`: select from the drop-down menu what type of benefit it is. Select from :guilabel:`Monthly Benefit in Kind`, :guilabel:`Monthly Benefit in Net`, :guilabel:`Monthly Benefit in Cash`, :guilabel:`Yearly Benefits in Cash`, or :guilabel:`Non Financial Benefits`. This field is required." +#: ../../content/applications/hr/payroll/contracts.rst:125 +msgid "The :guilabel:`Salary Information` tab is where the specific details of how much and how often the employee is paid. Fill in the following fields in this tab:" msgstr "" -#: ../../content/applications/hr/payroll.rst:538 -msgid ":guilabel:`Cost Field`: select from the drop-down menu a field from the contract. The field will define the cost of the benefit and by extention the impact on the salary, :guilabel:`Wage`, :guilabel:`Wage with Holidays`, and :guilabel:`Work time rate`. Depending on the localization settings, additional options are available." +#: ../../content/applications/hr/payroll/contracts.rst:128 +msgid ":guilabel:`Wage Type`: Using the drop-down menu, select what kind of pay the employee receives. The two default options are :guilabel:`Fixed Wage` or :guilabel:`Hourly Wage`. Select :guilabel:`Fixed Wage` for salaried employees, and select :guilabel:`Hourly Wage` for employees who are paid based on their logged worked hours." msgstr "" -#: ../../content/applications/hr/payroll.rst:542 -msgid ":guilabel:`Related Type`: select from the drop-down menu what type of benefit it is. Select from :guilabel:`Monthly Benefit in Kind`, :guilabel:`Monthly Benefit in Net`, :guilabel:`Monthly Benefit in Cash`, :guilabel:`Yearly Benefits in Cash`, or :guilabel:`Non Financial Benefits`. This field is required." +#: ../../content/applications/hr/payroll/contracts.rst:132 +msgid ":guilabel:`Schedule Pay`: Using the drop-down menu, select how often the employee is paid. The default options are :guilabel:`Annually`, :guilabel:`Semi-annually`, :guilabel:`Quarterly`, :guilabel:`Bi-monthly`, :guilabel:`Monthly`, :guilabel:`Semi-monthly`, :guilabel:`Bi-weekly`, :guilabel:`Weekly`, or :guilabel:`Daily`." msgstr "" -#: ../../content/applications/hr/payroll.rst:546 -msgid ":guilabel:`Impacts Net Salary`: tick the checkbox if the benefit should impact the employee's net salary." +#: ../../content/applications/hr/payroll/contracts.rst:136 +msgid ":guilabel:`Wage`: Enter the amount the employee receives each pay period. The first field allows for a wage to be entered, the second field displays how often the pay is issued to the employee. The second field *cannot* be modified, and is updated when the :guilabel:`Schedule Pay` field changes." msgstr "" -#: ../../content/applications/hr/payroll.rst:548 -msgid ":guilabel:`Requested Documents`: select any document that is required to be submitted for this benefit, from the drop-down menu." +#: ../../content/applications/hr/payroll/contracts.rst:140 +msgid ":guilabel:`Yearly Cost (Real)`: This field automatically updates after the :guilabel:`Schedule Pay` and :guilabel:`Wage` fields are entered. This amount is the total yearly cost for the employer. This field can be modified. However, if this is modified, the :guilabel:`Wage` field updates, accordingly. Ensure both the :guilabel:`Wage` and :guilabel:`Yearly Cost (Real)` are correct if this field is modified." msgstr "" -#: ../../content/applications/hr/payroll.rst:550 -msgid ":guilabel:`Mandatory Benefits`: using the drop-down menu, select the benefit that is required in order for this specific benefit to be offered to the employee." +#: ../../content/applications/hr/payroll/contracts.rst:145 +msgid ":guilabel:`Monthly Cost (Real)`: This field automatically updates after the :guilabel:`Schedule Pay` and :guilabel:`Wage` fields are entered. This amount is the total monthly cost for the employer. This field **cannot** be modified, and is calculated based on the :guilabel:`Yearly Cost (Real)`." msgstr "" -#: ../../content/applications/hr/payroll.rst:553 -msgid "For example, a benefit for car insurance would populate `Company Car` in this field. This would allow the car insurance benefit to **only** be displayed if the employee has selected/enabled the benefit of a company car." +#: ../../content/applications/hr/payroll/contracts.rst:-1 +msgid "The Salary Information tab filled out." msgstr "" -#: ../../content/applications/hr/payroll.rst:556 -msgid ":guilabel:`Salary Structure Type`: select from the drop-down menu which salary structure type this benefit applies to. This field is required." +#: ../../content/applications/hr/payroll/contracts.rst:154 +#: ../../content/applications/hr/recruitment/add-new-applicants.rst:109 +msgid "Details tab" msgstr "" -#: ../../content/applications/hr/payroll.rst:558 -msgid ":guilabel:`Unit of Measure`: select the metric that the benefit is granted, using the drop-down menu. The options are :guilabel:`Days`, :guilabel:`Percent`, or :guilabel:`Currency`." +#: ../../content/applications/hr/payroll/contracts.rst:156 +msgid "The :guilabel:`Details` tab of the contract houses the contract template information, accounting information (refer to the :doc:`country-specific localization document ` for more information), any part time work information, and notes. Fill out the following fields in this tab:" msgstr "" -#: ../../content/applications/hr/payroll.rst:-1 -msgid "A new benefit form filled out for an internet subscription." +#: ../../content/applications/hr/payroll/contracts.rst:161 +msgid ":guilabel:`Contract Template`: Using the drop-down menu, select a :ref:`contract template ` to use when making an offer to an applicant." msgstr "" -#: ../../content/applications/hr/payroll.rst:566 -msgid "Display section" +#: ../../content/applications/hr/payroll/contracts.rst:163 +msgid ":guilabel:`Originated Offer`: This field automatically populates with the original offer sent to the employee. This field is **not** modifiable, and is only populated if applicable." msgstr "" -#: ../../content/applications/hr/payroll.rst:568 -msgid ":guilabel:`Show Name`: tick the checkbox to have the benefit name appear in the salary package configurator." +#: ../../content/applications/hr/payroll/contracts.rst:165 +msgid ":guilabel:`Part Time`: Tick the checkbox if the contract is for part time work. Once enabled, a percentage field appears next to the checkbox. The percentage **cannot** be modified, and automatically updates based on the selected :guilabel:`Working Schedule` in the top-half of the contract, compared to the typical working schedule for the company (typically 40 hours/week)." msgstr "" -#: ../../content/applications/hr/payroll.rst:570 -msgid ":guilabel:`Display Type`: select from the drop-down menu how this benefit is displayed. The options are :guilabel:`Always Selected`, :guilabel:`Dropdown`, :guilabel:`Dropdown Group`, :guilabel:`Slider`, :guilabel:`Radio Buttons`, :guilabel:`Manual Input`, or :guilabel:`Text`. This field is required." +#: ../../content/applications/hr/payroll/contracts.rst:171 +msgid ":guilabel:`Standard Calendar`: This field is automatically populated with the default working schedule for the company. In most cases, this is :guilabel:`Standard 40 hours/week`." msgstr "" -#: ../../content/applications/hr/payroll.rst:575 -msgid "Depending on the selection made, additional configurations need to be made. For example, if :guilabel:`Radio Buttons` is selected, the individual radio buttons must be entered." +#: ../../content/applications/hr/payroll/contracts.rst:173 +msgid ":guilabel:`Part Time Work Entry Type`: Using the drop-down menu, select the work entry type that generates the balance of a full-time working schedule." msgstr "" -#: ../../content/applications/hr/payroll.rst:577 -msgid ":guilabel:`Icon`: an icon from the `Font Awesome 4 library `_ can be visible for this benefit. Enter the text code for the icon in this field. For example, to display a suitcase icon, the code `fa fa-suitcase` is entered on this line." +#: ../../content/applications/hr/payroll/contracts.rst:177 +msgid "An employee contract is being created for a part-time employee who works 20 hours a week." msgstr "" -#: ../../content/applications/hr/payroll.rst:580 -msgid ":guilabel:`Hide Description`: tick the checkbox to hide the benefit description if the benefit is not selected by the employee." +#: ../../content/applications/hr/payroll/contracts.rst:179 +msgid "To configure this, the employee's :guilabel:`Working Schedule` is set to :guilabel:`20 Hours/Part time` in the :ref:`general information section `. In the :guilabel:`Details` tab, the :guilabel:`Part Time` checkbox is ticked, and the percentage is set to `50`. The :guilabel:`Standard Calendar` is set to :guilabel:`Standard 40 hours/week`, and the :guilabel:`Part Time Work Entry Type` is set to :guilabel:`Unpaid`." msgstr "" -#: ../../content/applications/hr/payroll.rst:582 -msgid ":guilabel:`Folded`: if the benefit should be folded, or hidden, because it is dependant on another benefit selection, tick the checkbox. The following fields appear when this is active:" +#: ../../content/applications/hr/payroll/contracts.rst:185 +msgid "When a typical work week is processed in the **Payroll** app, the employee generates twenty (20) hours of regular work entries under the work entry type `Attendance`, and another twenty (20) hours of work entries under the work entry type `Unpaid`, for a total of forty (40) hours worth of work entries." msgstr "" -#: ../../content/applications/hr/payroll.rst:585 -msgid ":guilabel:`Fold Label`: enter a name for the folded section of the benefit." +#: ../../content/applications/hr/payroll/contracts.rst:190 +msgid ":guilabel:`Notes`: Enter any relevant notes for the contract in this field." msgstr "" -#: ../../content/applications/hr/payroll.rst:586 -msgid ":guilabel:`Fold Res Field`: select the contract field this benefit is tied to using the drop-down menu. If this field is selected on the contract, then this benefit becomes visible." +#: ../../content/applications/hr/payroll/contracts.rst:-1 +msgid "The Details tab filled out." msgstr "" -#: ../../content/applications/hr/payroll.rst:590 -msgid "Activity section" +#: ../../content/applications/hr/payroll/contracts.rst:196 +#: ../../content/applications/hr/payroll/contracts.rst:368 +msgid "Signatories tab" msgstr "" -#: ../../content/applications/hr/payroll.rst:592 -msgid ":guilabel:`Activity Type`: from the drop-down menu, select the activity type that is automatically created when this benefit is selected by the employee." +#: ../../content/applications/hr/payroll/contracts.rst:198 +msgid "The :guilabel:`Signatories` tab is where the default contract templates are selected, for both new and updated contracts." msgstr "" -#: ../../content/applications/hr/payroll.rst:594 -msgid ":guilabel:`Activity Creation`: select when the activity is created, either when the :guilabel:`Employee signs his contract`, or when the :guilabel:`Contract is countersigned`. Click the radio button next to the desired selection." +#: ../../content/applications/hr/payroll/contracts.rst:201 +msgid "Using the drop-down menu, select the default contract template to use when creating a new or updated contract, in the respective fields." msgstr "" -#: ../../content/applications/hr/payroll.rst:597 -msgid ":guilabel:`Activity Creation Type`: select the parameters for when the activity is created, either :guilabel:`When the benefit is set` or :guilabel:`When the benefit is modified`. Click the radio button next to the desired selection." +#: ../../content/applications/hr/payroll/contracts.rst:204 +msgid "Once a PDF template is selected, any mapped signature fields in the file appear in a list, below the selection, identifying who must sign the document. These fields **cannot** be updated." msgstr "" -#: ../../content/applications/hr/payroll.rst:600 -msgid ":guilabel:`Assigned to`: select the user the activity is automatically assigned to, using the drop-down menu." +#: ../../content/applications/hr/payroll/contracts.rst:207 +msgid "Any changes to the template and signatories but be done in the **Sign** app, where contract templates are uploaded, modified, and stored." msgstr "" -#: ../../content/applications/hr/payroll.rst:604 -msgid "Sign section" +#: ../../content/applications/hr/payroll/contracts.rst:211 +msgid "The :guilabel:`PDF Template` fields are only visible if the **Sign** app is installed, along with the :guilabel:`hr_contract_salary` and :guilabel:`hr_contract_salary_payroll` :doc:`modules <../../general/apps_modules>`." msgstr "" -#: ../../content/applications/hr/payroll.rst:606 -msgid ":guilabel:`Template to Sign`: if the employee is required to sign a document when selecting this benefit, select the document template from the drop-down menu." +#: ../../content/applications/hr/payroll/contracts.rst:-1 +msgid "The Signatories tab with the roles specified for signing." msgstr "" -#: ../../content/applications/hr/payroll.rst:609 -msgid "For example, a benefit regarding the use of a company car may require the employee to sign a document acknowledging the company's car policies." +#: ../../content/applications/hr/payroll/contracts.rst:219 +msgid "Personal documents tab" msgstr "" -#: ../../content/applications/hr/payroll.rst:615 -msgid "Provide any additional information in this tab to help clarify the benefit." +#: ../../content/applications/hr/payroll/contracts.rst:221 +msgid "Occasionally, additional paperwork may be required when creating a contract, such as legal documents declaring the employee is able to work in the country. When this situation occurs, Odoo allows for one image file of the necessary document to be attached to a contract in the :guilabel:`Personal Documents` tab." msgstr "" -#: ../../content/applications/hr/payroll.rst:618 -msgid "Personal info" +#: ../../content/applications/hr/payroll/contracts.rst:226 +msgid "Click the :guilabel:`Upload your file` button, navigate to the desired document, and click :guilabel:`Select` to attach the file to the contract. The file name appears on the :guilabel:`Image` line." msgstr "" -#: ../../content/applications/hr/payroll.rst:620 -msgid "Every employee in Odoo has an *employee card* which is created when a candidate becomes an employee. This card includes all of their personal information, resume, work information, and documents." +#: ../../content/applications/hr/payroll/contracts.rst:231 +msgid "This tab **only** appears after an :guilabel:`Employee` is selected. Additionally, only image files can be attached in this field at this time." msgstr "" -#: ../../content/applications/hr/payroll.rst:624 -msgid "The personal information is gathered from the salary package configurator section that a candidate fills out after being offered a position. This personal information is then transferred to the employee card when they are hired." +#: ../../content/applications/hr/payroll/contracts.rst:235 +#: ../../content/applications/hr/payroll/salary_attachments.rst:3 +msgid "Salary attachments" msgstr "" -#: ../../content/applications/hr/payroll.rst:628 -msgid "To view an employee's card, go to the main :menuselection:`Employees` app dashboard, and click on the employee's card." +#: ../../content/applications/hr/payroll/contracts.rst:237 +msgid "After an employee is selected for the contract, a :icon:`fa-book` :guilabel:`Salary Attachments` smart button appears at the top of the page." msgstr "" -#: ../../content/applications/hr/payroll.rst:632 -msgid "An employee card can be thought of as an employee personal file." +#: ../../content/applications/hr/payroll/contracts.rst:240 +msgid "For new employees who do not currently have a contract, the smart button displays :guilabel:`New`. If the contract is being updated for a current employee who already has salary attachments configured, the smart button displays the number of salary attachments currently running." msgstr "" -#: ../../content/applications/hr/payroll.rst:634 -msgid "The :guilabel:`Personal Info` section lists all of the fields that are available to enter on the employee's card. To access this section, go to :menuselection:`Payroll app --> Configuration --> Salary Package Configurator: Personal Info`." +#: ../../content/applications/hr/payroll/contracts.rst:244 +msgid ":doc:`Create or update any necessary salary attachments ` for the contract, before sending." msgstr "" -#: ../../content/applications/hr/payroll.rst:-1 -msgid "A list of all the personal information that appears on the employee card to enter." +#: ../../content/applications/hr/payroll/contracts.rst:248 +msgid "Send a contract" msgstr "" -#: ../../content/applications/hr/payroll.rst:642 -msgid "To edit a personal info entry, select an entry from the list on the :guilabel:`Personal Info` page, and modify the personal info on the form that appears." +#: ../../content/applications/hr/payroll/contracts.rst:250 +msgid "After a contract has been created and configured, the next step is to send it to the employee or applicant. Click the :guilabel:`Generate Offer` button, and the :guilabel:`Offer for (Employee)` form loads." msgstr "" -#: ../../content/applications/hr/payroll.rst:645 -msgid "To create a new personal info entry, click the :guilabel:`New` button." +#: ../../content/applications/hr/payroll/contracts.rst:254 +msgid "The :guilabel:`Offer for (Employee)` form displays all the basic information from the contract, as well as a link the employee can use to sign the contract. The last field on the form is a :guilabel:`Validity Days Count` field. This indicates how long the offer is valid. Enter the desired number of days in the field. The default is `30` days." msgstr "" -#: ../../content/applications/hr/payroll.rst:647 -msgid "The required fields, aside from entering the :guilabel:`Information` name, are :guilabel:`Related Model`, :guilabel:`Related Field`, and :guilabel:`Category`." +#: ../../content/applications/hr/payroll/contracts.rst:259 +msgid "Click :guilabel:`Send By Email` and a pop-up email window loads, using a preconfigured default email template. Click :guilabel:`Send` to send the offer." msgstr "" -#: ../../content/applications/hr/payroll.rst:650 -msgid "Select a :guilabel:`Related Model` from the drop-down menu. :guilabel:`Employee` populates the field by default, but the :guilabel:`Bank Account` option is also available if the information is related to a bank account, instead." +#: ../../content/applications/hr/payroll/contracts.rst:263 +msgid "In order to send a contract using the :guilabel:`Generate Offer` button, there **must** be an employee signature field on the contract PDF being sent." msgstr "" -#: ../../content/applications/hr/payroll.rst:654 -msgid "Select a :guilabel:`Related Field` from the drop-down menu that best describes what kind of personal information this entry is, and where it is stored in the backend. Then, select a :guilabel:`Category` from the drop-down menu that the personal information should be under, such as :guilabel:`Address` or :guilabel:`Personal Documents`." +#: ../../content/applications/hr/payroll/contracts.rst:-1 +msgid "Send the contract to the employee via one of the buttons." msgstr "" -#: ../../content/applications/hr/payroll.rst:659 -msgid "The two most important fields on the personal info form are :guilabel:`Is Required` and :guilabel:`Display Type`." +#: ../../content/applications/hr/payroll/contracts.rst:270 +msgid "Contract status" msgstr "" -#: ../../content/applications/hr/payroll.rst:662 -msgid "Checking the :guilabel:`Is Required` box makes the field mandatory on the employee's card. The :guilabel:`Display Type` drop-down menu allows for the information to be entered in a variety of ways, like a :guilabel:`Text` box, to a customizable :guilabel:`Radio` button, a :guilabel:`Checkbox`, a :guilabel:`Document`, and more." +#: ../../content/applications/hr/payroll/contracts.rst:272 +msgid "When creating and sending out a contract, the default status of the contract is :guilabel:`New`." msgstr "" -#: ../../content/applications/hr/payroll.rst:-1 -msgid "New personal information entry." +#: ../../content/applications/hr/payroll/contracts.rst:274 +msgid "Once there is a minimum of one completed signature on the document, the status changes to :guilabel:`Partially Signed`. Internal users, such as HR and recruitment employees, are alerted in the database when there is a signature requested of them." msgstr "" -#: ../../content/applications/hr/payroll.rst:674 -msgid "The resumé section, housed within the salary package configurator section of the settings menu, is how salary information rules are configured when offering a position to potential employees." +#: ../../content/applications/hr/payroll/contracts.rst:278 +msgid "After all required parties have signed the contract, the status changes to :guilabel:`Fully Signed`." msgstr "" -#: ../../content/applications/hr/payroll.rst:677 -msgid "When an offer is sent to a prospective employee, the values for the offer are computed from these settings, and appear on the offer page." +#: ../../content/applications/hr/payroll/contracts.rst:280 +msgid "All status changes happen automatically as the document is signed." msgstr "" -#: ../../content/applications/hr/payroll.rst:680 -msgid "To configure this section, navigate to :menuselection:`Payroll app --> Configuration --> Salary Package Configurator: Resumé`." +#: ../../content/applications/hr/payroll/contracts.rst:285 +msgid "Contract templates" msgstr "" -#: ../../content/applications/hr/payroll.rst:683 -msgid "By default, there are three :guilabel:`Salary Structure Types` pre-configured in Odoo: :guilabel:`Worker`, :guilabel:`Employee`, and :guilabel:`None`." +#: ../../content/applications/hr/payroll/contracts.rst:287 +msgid "Contract *templates* eliminate the need to configure new contracts every time an employee is hired." msgstr "" -#: ../../content/applications/hr/payroll.rst:686 -msgid "Each :guilabel:`Salary Structure Type` has several rules configured. These affect how an offer is calculated using that particular :guilabel:`Salary Structure Type`." +#: ../../content/applications/hr/payroll/contracts.rst:290 +msgid "Having multiple contract templates allows for faster contract creation for different types of employment positions that are commonly filled, such as full time, part time, seasonal, etc." msgstr "" -#: ../../content/applications/hr/payroll.rst:689 -msgid "To create a new rule, click the :guilabel:`New` button, and a blank :guilabel:`Contract Salary Resumé` form loads." +#: ../../content/applications/hr/payroll/contracts.rst:293 +msgid "Contract templates are created through the **Payroll** app configuration menu, and stored in the **Documents** app." msgstr "" -#: ../../content/applications/hr/payroll.rst:694 -msgid ":guilabel:`Information`: type in a name for this field." +#: ../../content/applications/hr/payroll/contracts.rst:297 +msgid "To access contract templates, the **Salary Configurator** (`hr_contract_salary`) module **must** be :ref:`installed `." msgstr "" -#: ../../content/applications/hr/payroll.rst:695 -msgid ":guilabel:`Category`: select the category this value is housed under, using the drop-down menu. The default options are :guilabel:`Monthly Salary`, :guilabel:`Monthly Benefits`, :guilabel:`Yearly Benefits`, and :guilabel:`Total`." +#: ../../content/applications/hr/payroll/contracts.rst:300 +msgid "To view all contract templates, navigate to :menuselection:`Payroll app --> Configuration --> Templates`." msgstr "" -#: ../../content/applications/hr/payroll.rst:699 -msgid "New categories can be made if needed." +#: ../../content/applications/hr/payroll/contracts.rst:303 +msgid "The :guilabel:`Contract Templates` page lists all existing templates. Click a template line to open and edit it." msgstr "" -#: ../../content/applications/hr/payroll.rst:701 -msgid "Click the :guilabel:`New` button, then enter the name for the new category in the :guilabel:`Name` field. Next, select the :guilabel:`Periodicity` from the drop-down menu, either :guilabel:`Monthly` or :guilabel:`Yearly`. Last, enter a number for the sequence. This corresponds to where this rule appears in the :guilabel:`Salary Structure Type` rule list." +#: ../../content/applications/hr/payroll/contracts.rst:306 +msgid "To create a new contract template, click the :guilabel:`New` button. Then, enter the following information on the blank contract template form that appears:" msgstr "" -#: ../../content/applications/hr/payroll.rst:706 -msgid "Finally, click :guilabel:`Save & Close`." +#: ../../content/applications/hr/payroll/contracts.rst:309 +msgid ":guilabel:`Contract Reference`: Enter a brief description for the template. This should be clear and easily understood, as this name appears in the **Recruitment** application, as well." msgstr "" -#: ../../content/applications/hr/payroll.rst:707 -msgid ":guilabel:`Impacts Monthly Total`: tick the checkbox if this value is added in the monthly total calculation." +#: ../../content/applications/hr/payroll/contracts.rst:311 +msgid ":guilabel:`Working Schedule`: Select the desired working schedule the contract applies to from the drop-down menu. If a new working schedule is needed, create a :ref:`new working schedule `." msgstr "" -#: ../../content/applications/hr/payroll.rst:709 -msgid ":guilabel:`Unit of Measure`: select what kind of value this rule is, either :guilabel:`Currency`, :guilabel:`Days`, or :guilabel:`Percent`." +#: ../../content/applications/hr/payroll/contracts.rst:314 +msgid ":guilabel:`Work Entry Source`: Select :ref:`how the work entries are generated `." msgstr "" -#: ../../content/applications/hr/payroll.rst:712 -msgid ":guilabel:`Currency` is for a set monetary value, :guilabel:`Days` is for compensation in the form of time off, and :guilabel:`Percent` is for a monetary value awarded that is based upon another metric, such as commissions." +#: ../../content/applications/hr/payroll/contracts.rst:316 +msgid ":guilabel:`Salary Structure Type`: Select the :ref:`salary structure type ` from the drop-down menu." msgstr "" -#: ../../content/applications/hr/payroll.rst:715 -msgid ":guilabel:`Salary Structure Type`: select which :guilabel:`Salary Structure Type` this rule is nested under, from the drop-down menu." +#: ../../content/applications/hr/payroll/contracts.rst:318 +msgid ":guilabel:`Department`: Select the department the contract template applies to from the drop-down menu. If blank, the template applies to all departments." msgstr "" -#: ../../content/applications/hr/payroll.rst:717 -msgid ":guilabel:`Value Type`: select how the value is computed, using the drop-down menu. The default options are :guilabel:`Fixed Value`, :guilabel:`Contract Value`, :guilabel:`Payslip Value`, :guilabel:`Sum of Benefits Values`, and :guilabel:`Monthly Total`." +#: ../../content/applications/hr/payroll/contracts.rst:320 +msgid ":guilabel:`Job Position`: Select the :doc:`job position <../recruitment/new_job>` the contract template applies to from the drop-down menu. If blank, the template applies to all job positions." msgstr "" -#: ../../content/applications/hr/payroll.rst:720 -msgid ":guilabel:`Code`: select the code this rule applies to from the drop-down menu." +#: ../../content/applications/hr/payroll/contracts.rst:322 +msgid ":guilabel:`Contract Type`: Select the type of contract from the drop-down menu. This list is the same as the *employment type*." msgstr "" -#: ../../content/applications/hr/payroll.rst:-1 -msgid "The net wage rule form filled out, with all the information for net pay." +#: ../../content/applications/hr/payroll/contracts.rst:324 +msgid ":guilabel:`Wage on Payroll`: Enter the monthly wage in the field." msgstr "" -#: ../../content/applications/hr/payroll.rst:727 -msgid "Jobs" +#: ../../content/applications/hr/payroll/contracts.rst:325 +msgid ":guilabel:`HR Responsible`: Select the employee responsible for validating contracts, using this template, from the drop-down menu." msgstr "" -#: ../../content/applications/hr/payroll.rst:729 -msgid "Since the *Payroll* application is responsible for paying employees for specific job positions, the complete list of job positions can be found in both the *Payroll* and *Recruitment* applications." +#: ../../content/applications/hr/payroll/contracts.rst:-1 +msgid "A new contract template form, with the fields filled in." msgstr "" -#: ../../content/applications/hr/payroll.rst:735 -#: ../../content/applications/hr/recruitment/new_job.rst:3 -msgid "Job positions" +#: ../../content/applications/hr/payroll/contracts.rst:334 +msgid ":guilabel:`Wage Type`: Select either :guilabel:`Fixed Wage` or :guilabel:`Hourly Wage` from the drop-down menu." msgstr "" -#: ../../content/applications/hr/payroll.rst:737 -msgid "The job positions listed in the *Payroll* application are identical to the job positions listed in the *Recruitment* application. If a new job position is added in the *Recruitment* application, it is also visible in the *Payroll* application, and vice versa." +#: ../../content/applications/hr/payroll/contracts.rst:336 +msgid ":guilabel:`Schedule Pay`: Using the drop-down menu, select how often the employee is paid. Options include :guilabel:`Annually`, :guilabel:`Semi-annually`, :guilabel:`Quarterly`, :guilabel:`Bi-monthly`, :guilabel:`Monthly`, :guilabel:`Semi-monthly`, :guilabel:`Bi-weekly`, :guilabel:`Weekly`, or :guilabel:`Daily`." msgstr "" -#: ../../content/applications/hr/payroll.rst:741 -msgid "To view the job positions, navigate to :menuselection:`Payroll app --> Configuration --> Jobs: Job Positions`." +#: ../../content/applications/hr/payroll/contracts.rst:340 +msgid ":guilabel:`Wage`: Enter the gross wage. The time period presented in this field is based on what is selected for the :guilabel:`Scheduled Pay` field. It is recommended to populate the :guilabel:`Yearly Cost (Real)` field *first*, since that entry updates this field automatically." msgstr "" -#: ../../content/applications/hr/payroll.rst:744 -msgid "A list of all the job positions appear, along with the corresponding department, on the :guilabel:`Job Position` page." +#: ../../content/applications/hr/payroll/contracts.rst:343 +msgid ":guilabel:`Yearly Cost (Real)`: Enter the total yearly cost the employee costs the employer. When this value is entered, the :guilabel:`Monthly Cost (Real)` is automatically updated." msgstr "" -#: ../../content/applications/hr/payroll.rst:-1 -msgid "A list of all the job positions and corresponding departments." +#: ../../content/applications/hr/payroll/contracts.rst:345 +msgid ":guilabel:`Monthly Cost (Real)`: This field is **not** editable. The value is automatically populated after the :guilabel:`Yearly Cost (Real)` is entered." msgstr "" -#: ../../content/applications/hr/payroll.rst:751 -msgid "To create a new job description, click the :guilabel:`New` button and a job form appears." +#: ../../content/applications/hr/payroll/contracts.rst:349 +msgid "The :guilabel:`Schedule Pay`, :guilabel:`Wage`, and :guilabel:`Yearly Cost (Real)` fields are all linked. If any of these fields are updated, the other two fields automatically update to reflect the change. It is best practice to check these three fields if any modifications have been made, to ensure they are accurate." msgstr "" -#: ../../content/applications/hr/payroll.rst:753 -msgid "Enter the information on the form for the new position. The information is identical as to the information entered when creating a new job position in the *Recruitment* application." +#: ../../content/applications/hr/payroll/contracts.rst:-1 +msgid "The salary information tab, with the fields filled in." msgstr "" -#: ../../content/applications/hr/payroll.rst:756 -msgid "Refer to the :doc:`../hr/recruitment/new_job` documentation for more details on how to fill out this form." +#: ../../content/applications/hr/payroll/contracts.rst:358 +msgid "Benefits and deductions" msgstr "" -#: ../../content/applications/hr/payroll.rst:760 -msgid ":doc:`payroll/contracts`" +#: ../../content/applications/hr/payroll/contracts.rst:360 +msgid "Depending on the :doc:`payroll localization ` for the company, the entries presented in this section either vary, or may not appear at all. For example, some entries may pertain to retirement accounts, health insurance benefits, and commuter benefits." msgstr "" -#: ../../content/applications/hr/payroll.rst:761 -msgid ":doc:`payroll/work_entries`" +#: ../../content/applications/hr/payroll/contracts.rst:364 +msgid "Enter the monetary amounts or percentages to specify how much of the employee's salary goes to the various benefits and deductions." msgstr "" -#: ../../content/applications/hr/payroll.rst:762 -msgid ":doc:`payroll/time_off_to_report`" +#: ../../content/applications/hr/payroll/contracts.rst:370 +msgid "This tab outlines which documents the employee must sign to either accept a new offer or an updated contract." msgstr "" -#: ../../content/applications/hr/payroll.rst:763 -msgid ":doc:`payroll/salary_attachments`" +#: ../../content/applications/hr/payroll/contracts.rst:373 +msgid ":guilabel:`New Contract PDF Template`: Select the default document that a new employee has to sign to accept an offer." msgstr "" -#: ../../content/applications/hr/payroll.rst:764 -msgid ":doc:`payroll/payslips`" +#: ../../content/applications/hr/payroll/contracts.rst:375 +msgid ":guilabel:`Contract Update PDF Template`: Select the default document that a current employee has to sign to update their contract." msgstr "" -#: ../../content/applications/hr/payroll.rst:765 -msgid ":doc:`payroll/batches`" +#: ../../content/applications/hr/payroll/contracts.rst:379 +msgid ":doc:`../../productivity/documents`" msgstr "" -#: ../../content/applications/hr/payroll.rst:766 -msgid ":doc:`payroll/commissions`" +#: ../../content/applications/hr/payroll/contracts.rst:380 +msgid ":doc:`../../productivity/sign`" msgstr "" -#: ../../content/applications/hr/payroll.rst:767 -msgid ":doc:`payroll/reporting`" +#: ../../content/applications/hr/payroll/headcount.rst:3 +msgid "Headcount report" msgstr "" -#: ../../content/applications/hr/payroll.rst:768 -msgid ":doc:`payroll/headcount`" +#: ../../content/applications/hr/payroll/headcount.rst:5 +msgid "The *Headcount report* in the **Payroll** app shows the number of employees on payroll and allows headcount comparisons between different periods of time." msgstr "" -#: ../../content/applications/hr/payroll.rst:769 -msgid ":doc:`payroll/work_entry_analysis`" +#: ../../content/applications/hr/payroll/headcount.rst:9 +msgid "Create a headcount report" msgstr "" -#: ../../content/applications/hr/payroll.rst:770 -msgid ":doc:`payroll/payroll_localizations`" +#: ../../content/applications/hr/payroll/headcount.rst:11 +msgid "Create a headcount report to see the number of employees at a specific time or compare headcounts across periods." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:3 -msgid "Batches" +#: ../../content/applications/hr/payroll/headcount.rst:14 +msgid "To create a headcount report, navigate to :menuselection:`Payroll app --> Reporting --> Headcount` and click :guilabel:`New`." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:5 -msgid "Batches are used to generate multiple :doc:`payslips ` at once and process them in a group, rather than create and process individual payslips. This method not only helps the payroll department pay employees in less time, but it also helps keep payslips organized." +#: ../../content/applications/hr/payroll/headcount.rst:17 +msgid "Report name: generated automatically as `Headcount for (Company Name) on the (YYYY-MM-DD)` and **cannot** be modified." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:9 -msgid "Typically, a company's payroll department :ref:`creates a new batch ` for each salary structure, for every pay period (usually weekly, bi-weekly, or monthly). If desired, batches can be further organized by department, job position, or salary structure type." +#: ../../content/applications/hr/payroll/headcount.rst:19 +msgid ":guilabel:`Company`: populated automatically (works in both single and multi-company databases)" msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:13 -msgid "Once a batch is made, :ref:`payslips are added to the batch `, then the batch is processed, and employees are paid." +#: ../../content/applications/hr/payroll/headcount.rst:20 +msgid ":guilabel:`From`/:guilabel:`To` dates: defaults to current date (from) and blank (to). Adjust these to define the period to analyze." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:17 -msgid "View batches" +#: ../../content/applications/hr/payroll/headcount.rst:-1 +msgid "A headcount report form filled out for the third quarter of 2025." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:19 -msgid "To view all the batches in the database, navigate to :menuselection:`Payroll app --> Payslips --> Batches` to display all payslip batches that have been created. These payslip batches are displayed in a list view, by default." +#: ../../content/applications/hr/payroll/headcount.rst:26 +msgid "Next, click :guilabel:`Populate` to generate the report." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:23 -msgid "Each batch displays the :guilabel:`Name`, the dates the batch includes (the :guilabel:`Date From` and :guilabel:`Date To` fields), its :guilabel:`Status`, the number of payslips in the batch (:guilabel:`Payslips Count`), and the :guilabel:`Company`." +#: ../../content/applications/hr/payroll/headcount.rst:28 +msgid "At the top of the form, a :icon:`fa-people` :guilabel:`Employees` smart button appears. Clicking the button displays the total number of employees for the selected period." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:-1 -msgid "View displaying all batches created." +#: ../../content/applications/hr/payroll/headcount.rst:32 +msgid "View all headcount reports" msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:33 -msgid "Create a new batch" +#: ../../content/applications/hr/payroll/headcount.rst:34 +msgid "See how the company headcount has changed over time by viewing all headcount reports in a list view." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:35 -msgid "New batches of payslips must be created from the :guilabel:`Payslips Batches` dashboard, by navigating to :menuselection:`Payroll app --> Payslips --> Batches`. Click the :guilabel:`New` button in the top-left corner. Doing so reveals a blank payslip batch form on a separate page." +#: ../../content/applications/hr/payroll/headcount.rst:36 +msgid "To view all headcount reports, navigate to :menuselection:`Payroll app --> Reporting --> Headcount`." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:39 -msgid "On the new payslip batch form, enter the :guilabel:`Batch Name`. This should be something short and descriptive, to keep records organized." +#: ../../content/applications/hr/payroll/headcount.rst:39 +msgid "View employees in a headcount" msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:43 -msgid "A company pays its employees on a bi-weekly basis, and creates separate batches for their two different :ref:`salary structures ` they use: worker pay and regular pay." +#: ../../content/applications/hr/payroll/headcount.rst:41 +msgid "TO get an overall view of employees and their salary impact on the company, view all employee records of a specific headcount report." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:47 -msgid "The names for their four August 2025 batches are:" +#: ../../content/applications/hr/payroll/headcount.rst:44 +msgid "To view the employees of a specific headcount report, click the :icon:`fa-people` :guilabel:`Employees` smart button at the top of a headcount report." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:49 -msgid "`Aug 1-14 2025 - Worker`" +#: ../../content/applications/hr/payroll/headcount.rst:47 +msgid "All employees from the headcount appear in a list view, grouped by :guilabel:`Department`." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:50 -msgid "`Aug 1-14 2025 - Regular`" +#: ../../content/applications/hr/payroll/headcount.rst:49 +msgid ":guilabel:`Employee`: the employee's full name" msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:51 -msgid "`Aug 15-31 2025 - Worker`" +#: ../../content/applications/hr/payroll/headcount.rst:50 +msgid ":guilabel:`Department`: the department their job position is in" msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:52 -msgid "`Aug 15-31 2025 - Regular`" +#: ../../content/applications/hr/payroll/headcount.rst:51 +msgid ":guilabel:`Job Title`: their role" msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:54 -msgid "Next, select the date range to which the batch applies. Click into one of the :guilabel:`Period` fields, and a calendar pop-up window appears. From this calendar pop-up window, navigate to the correct month, and click on the corresponding day for both the start and end dates of the batch." +#: ../../content/applications/hr/payroll/headcount.rst:52 +msgid ":guilabel:`Employer Cost`: how much the company pays the employee each pay-period" msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:58 -msgid "The current company populates the :guilabel:`Company` field. If operating in a multi-company environment, it is **not** possible to modify the :guilabel:`Company` from the form. The batch **must** be created while in the database for the desired company." +#: ../../content/applications/hr/payroll/headcount.rst:53 +msgid ":guilabel:`Wage on Payroll`: the dollar amount on payroll reports" msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:-1 -msgid "The details entered for the new batch." +#: ../../content/applications/hr/payroll/payroll_analysis.rst:3 +msgid "Payroll analysis" msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:68 -msgid "Add payslips to a batch" +#: ../../content/applications/hr/payroll/payroll_analysis.rst:5 +msgid "The *Payroll Analysis* report displays the total net wage for the company, for the last 365 days. This report allows companies to view their payroll costs and identify any trends." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:70 -msgid "Once a :ref:`batch has been created `, payslips need to be added to the batch. Payslips can either be :ref:`created and added ` to the batch, or if they have *already* been created, they can be :ref:`added to the batch `." +#: ../../content/applications/hr/payroll/payroll_analysis.rst:8 +msgid "To view the *Payroll Analysis* report, navigate to :menuselection:`Payroll app --> Reporting --> Payroll`." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:75 -msgid "Batches can only have payslips added to them when they are in the :guilabel:`New` stage. Payslips can either be :ref:`created by the database ` and added to the batch, or :ref:`pre-existing payslips can be individually added ` to the batch." +#: ../../content/applications/hr/payroll/payroll_analysis.rst:11 +msgid ":guilabel:`Net Wage` is the default metric displayed in the report, but other measures can be displayed if desired, such as *gross wage* or *days of paid time off*. Click the :guilabel:`Measures` :icon:`fa-caret-down` button to view a drop-down menu of other metrics to display. Click on the desired measure to display the results." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:79 -msgid "Once either of these methods has been used, the status of the batch changes to :guilabel:`Confirmed`, and both options to add payslips no longer appears." +#: ../../content/applications/hr/payroll/payroll_analysis.rst:-1 +msgid "Payroll overview report showing payroll for the last 365 days." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:85 -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:102 -msgid "Generate payslips" +#: ../../content/applications/hr/payroll/payroll_analysis.rst:22 +msgid "View multiple metrics" msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:87 -msgid "To generate the payslips and add them to the batch, first open the batch by navigating to :menuselection:`Payroll app --> Payslips --> Batches`, and click on the desired batch. Next, click the :guilabel:`Generate Payslips` button and a :guilabel:`Generate Payslips` pop-up window loads." +#: ../../content/applications/hr/payroll/payroll_analysis.rst:24 +msgid "It is possible to view multiple metrics at one time by viewing the report in the *pivot table* view. This can aid management to determine other trends, such as which departments do not take time off, or which departments have the highest payroll costs." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:91 -msgid "This form contains three sections, and the configuration of this form determines which payslips are created. The :guilabel:`Employees Selection` section determines which employees' payslips to create. Using the drop-down menus, configure the :guilabel:`Department`, :guilabel:`Job Position`, and :guilabel:`Salary Structure Type` fields, if desired. As selections are made, the :guilabel:`Employees` section at the bottom updates to show which payslips are going to be generated." +#: ../../content/applications/hr/payroll/payroll_analysis.rst:29 +msgid "**Only one** measure is able to be displayed in the default :icon:`fa-area-chart` :guilabel:`Graph` view. Multiple measures are **only** possible in the :icon:`oi-view-pivot` :guilabel:`Pivot` view." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:98 -msgid "The :guilabel:`Payslip Generation` section allows the user to pick a specific :guilabel:`Salary Structure` to create payslips for. If left blank, the default structure for each employee is used to calculate their pay." +#: ../../content/applications/hr/payroll/payroll_analysis.rst:33 +msgid "To display the data in a pivot table, click on the :icon:`oi-view-pivot` :guilabel:`Pivot` button." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:103 -msgid "By default, Odoo lists all employees in the :guilabel:`Employees` section when generating payslips." +#: ../../content/applications/hr/payroll/payroll_analysis.rst:35 +msgid "The default information displayed includes the number of payslips (:guilabel:`# Payslip`), the number of :guilabel:`Days of Paid Time Off` and :guilabel:`Days of Unpaid Time Off`, along with the :guilabel:`Net Wage` and :guilabel:`Gross Wage`. All the information is organized by department." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:106 -msgid "The list filters automatically as selections are made." +#: ../../content/applications/hr/payroll/payroll_analysis.rst:39 +msgid "To display more information on the report, click the :guilabel:`Measures` :icon:`fa-caret-down` button to reveal a drop-down menu. Click on any metric to display it on the pivot table." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:108 -msgid "Configuration is optional unless a batch is being created **excluding** certain employees." +#: ../../content/applications/hr/payroll/payroll_analysis.rst:-1 +msgid "Pivot table view with the various metrics on display." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:110 -msgid "Once all the desired configurations have been made, click the :guilabel:`Generate` button, and all payslips are created and attached to the batch. Once generated, a :icon:`fa-book` :guilabel:`Payslips` smart button appears at the top, along with the number of payslips in the batch. Click this smart button to view a list of all the payslips in the batch." +#: ../../content/applications/hr/payroll/payroll_analysis.rst:46 +msgid "Use case: comparing payroll costs" msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:115 -msgid "Once the payslips have been generated and attached to the batch, the status of the batch changes to :guilabel:`Confirmed`." +#: ../../content/applications/hr/payroll/payroll_analysis.rst:48 +msgid "Managers can compare payroll costs, and determine which departments have raised their payroll costs, either by hiring more employees, or by raising salaries." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:-1 -msgid "Payslips being generated for marketing and community managers." +#: ../../content/applications/hr/payroll/payroll_analysis.rst:51 +msgid "To compare previous periods of time, first view the *Payroll Analysis* report in a :ref:`pivot table `. Then, click the :icon:`fa-caret-down` :guilabel:`(Toggle Search Panel)` icon in the search bar, and click :guilabel:`Start Date` :icon:`fa-caret-down` to reveal a list of time periods (months, quarters, and years). Click on a desired time period, and a :icon:`fa-adjust` :guilabel:`Comparison` section appears in the search bar. Click on one of the two available options, either :guilabel:`Start Date: Previous Period`, or :guilabel:`Start Date: Previous Year`." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:124 -msgid "Add payslips" +#: ../../content/applications/hr/payroll/payroll_analysis.rst:59 +msgid "The report now displays three columns of information for every displayed measure: a column for the current time period, a column for the previous time period, and a :guilabel:`Variation` column, which displays the difference between the two time periods in a color-coded percentage (green for increases, red for decreases.)" msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:126 -msgid "Instead of generating payslips, :ref:`individual payslips that have already been created ` can be added to a batch. Start by opening the desired batch by navigating to :menuselection:`Payroll app --> Payslips --> Batches`, and clicking on the desired batch." +#: ../../content/applications/hr/payroll/payroll_analysis.rst:65 +msgid "In this example, the data shows an overall increase in the number of payslips. Since the company pays all employees every two weeks, an increase in the number of payslips (:guilabel:`# Payslips`) means that more employees were hired, in this example, a 500% increase." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:130 -msgid "Next, click the :guilabel:`Add Payslips` button, and an :guilabel:`Add Payslips` form loads in a pop-up window. All available payslips that have not yet been added to a batch, appear on the list." +#: ../../content/applications/hr/payroll/payroll_analysis.rst:69 +msgid "Additionally, both the :guilabel:`Net Wage` and :guilabel:`Gross Wage` increased. The department :guilabel:`RD US` showed the largest growth, with both metrics increasing by approximately 350%." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:134 -msgid "**All** payslips not yet assigned to a batch appear in the list, regardless of status (:guilabel:`Draft`, :guilabel:`Waiting`, :guilabel:`Paid`, or :guilabel:`Cancelled`). This allows already processed or cancelled payslips to be grouped retroactively for reporting or record keeping purposes." +#: ../../content/applications/hr/payroll/payroll_analysis.rst:0 +msgid "Pivot table view comparing two years of data." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:139 -msgid "Tick the checkbox next to each desired payslip to be added, then click the :guilabel:`Select` button at the bottom. All selected payslips are added to the batch, and the status of the batch changes to :guilabel:`Confirmed`. A :icon:`fa-book` :guilabel:`Payslips` smart button appears at the top, along with the number of payslips in the batch. Click this smart button to view a list of all the payslips in the batch." +#: ../../content/applications/hr/payroll/payroll_analysis.rst:76 +msgid ":doc:`../../essentials/reporting`" msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:-1 -#: ../../content/applications/hr/payroll/batches.rst:-1 -msgid "Adding individual payslips to a batch by selecting them form this list." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:5 +msgid "Payroll localizations" msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:151 -msgid "Process a batch" +#: ../../content/applications/hr/payroll/payroll_localizations.rst:10 +msgid "*Payroll localizations* refer to the specific process of adapting payroll systems, policies, and compliance measures to align with the specific labor laws, tax regulations, and social security requirements of a particular country or region." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:153 -msgid "After a :ref:`batch has been created ` , and :ref:`all required payslips have been added `, the batch must then be processed, and employees paid." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:14 +msgid "This ensures that employee salaries, benefits, deductions, and contributions are processed accurately and in full compliance with local legal and financial obligations." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:156 -msgid "Open the desired batch by navigating to :menuselection:`Payroll app --> Payslips --> Batches`, and clicking on the desired batch. For a batch to be processed, it must have a status of :guilabel:`Confirmed`. That means the batch has been created and payslips have been added to them, but the payslips have *not* been processed yet." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:17 +msgid "Localization also includes integrating country-specific payroll elements such as benefits, holidays, termination rules, and reporting requirements, helping businesses avoid legal risks while ensuring employees receive their correct compensation." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:161 -msgid "Click the :guilabel:`Create Draft Entry` button to confirm and create a draft of the individual payslips. After this occurs, the batch status changes to :guilabel:`Done`." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:22 +msgid "Install localization package" msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:165 -msgid "At any time, the batch needs to be reverted back to a status of :guilabel:`New`, click the :guilabel:`Set to Draft` button. This action does **not** remove any payslips that have already been added to the batch, instead, the status changes back to :guilabel:`New`." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:24 +msgid "A country-specific localization module :ref:`must be installed ` to properly configure and process payroll. To install the required module, first open the **Apps** app." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:169 -msgid "After any desired changes have been made, click :guilabel:`Confirm` and the batch status changes to :guilabel:`Confirmed`." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:27 +msgid "Clear out the default :icon:`fa-filter` :guilabel:`Apps` filter, then type the name of the desired country into the search bar. All available modules for that country are presented." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:172 -msgid "It is important to note, that if any payslips in the batch have a status of :guilabel:`Paid`, the batch **cannot** revert to a status of :guilabel:`New`." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:31 +msgid "Some countries only have one localization module, while other have multiple modules. This is typically when other software is neede to process payroll, and importing and exporting data is required." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:175 -msgid "Once the status has changed to :guilabel:`Done`, the payments must be logged in the database. Click the :guilabel:`Create Payment Report` button, and a pop-up window loads, where the payment report details are entered." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:35 +msgid "For example. when searching for **Payroll** modules for `Egypt`, the following modules appear in the search, and must be installed: `Egypt - Payroll` and `Egypt - Payroll with Accounting`." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:179 -msgid "Using the drop-down menu, select the :guilabel:`Export Format` for the payment report. The two default options available are :guilabel:`NACHA`, and :guilabel:`CSV`." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:38 +msgid "Refer to the :ref:`country-specific documentation ` for a complete list of the related **Payroll** modules required for each specific country." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:182 -msgid "The :guilabel:`NACHA` option creates a compatible ACH file which is sent to the company's bank, and outlines all the banking information to transfer money from the company to the employees, either via direct deposit (most common) or a check. Refer to the :ref:`fiscal localization document ` for more information." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:42 +msgid "To see if any localization modules have been installed on the database, navigate to :menuselection:`Payroll app --> Configuration --> Settings`. In the :guilabel:`Settings` page, if a localization module was installed, a :guilabel:`(Country) Localization` section appears." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:188 -#: ../../content/applications/hr/payroll/payslips.rst:222 -msgid "Other options may be available depending on the :doc:`payroll localization ` installed in the database." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:47 +msgid "It is **not** recommended to alter the localization settings, unless specifically required." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:191 -msgid "If :guilabel:`CSV` is selected, all other fields are hidden form view. Once this is selected, click the :guilabel:`Generate` button to create the payment report." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:50 +msgid "Odoo can handle a multi-company configuration. This is generally done when there is a main company or office location, such as a headquarters, and there are other offices/branches around the country or globe, that fall under that main company or headquarters. In Odoo, each company, including the headquarters, must be set up as their own company/branch using the multi-company method." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:194 -msgid "Next, select the desired :guilabel:`Bank Journal` the paychecks are logged on. Last, using the calendar selector, set the date the paychecks are issued in the :guilabel:`Effective Date` field." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:56 +msgid "Each individual company can have a different localization setting, since locations can vary anywhere in the world, where rules and laws differ." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:197 -msgid "Once the pop-up window is configured, click the :guilabel:`Generate` button, and the file appears on the batch form, in a new :guilabel:`Payment Report` field." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:59 +msgid "For more information on companies, refer to the :doc:`Companies <../../general/companies>` documentation, which covers how to set up companies." msgstr "" -#: ../../content/applications/hr/payroll/batches.rst:200 -msgid "After the report is created, click the :guilabel:`Mark as paid` button to mark the payslips as paid in the database." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:65 +msgid "List of countries" msgstr "" -#: ../../content/applications/hr/payroll/commissions.rst:4 -#: ../../content/applications/hr/payroll/payroll_localizations/united_arab_emirates.rst:360 -msgid "Commissions" +#: ../../content/applications/hr/payroll/payroll_localizations.rst:67 +msgid "Payroll localization modules are available for the countries listed below." msgstr "" -#: ../../content/applications/hr/payroll/commissions.rst:6 -msgid "Commissions are payments made to employees that are earned as part of their salary. The payments are awarded after a sale has been made, and the amount depends on how much the sale was. Typically the amount is either a percentage of the sale, or a set commission based on a structure created by the company." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:70 +msgid "New countries are frequently added to this list, as Odoo keeps expanding and improving existing localizations and related documentation." msgstr "" -#: ../../content/applications/hr/payroll/commissions.rst:11 -msgid "To pay an employee a commission they earned, a separate commission paycheck must be issued to the employee. In Odoo, a commission payslip is referred to as a *warrant payslip*." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:73 +msgid ":doc:`Australia `" msgstr "" -#: ../../content/applications/hr/payroll/commissions.rst:15 -msgid "Create warrant payslips" +#: ../../content/applications/hr/payroll/payroll_localizations.rst:74 +msgid ":doc:`Belgium `" msgstr "" -#: ../../content/applications/hr/payroll/commissions.rst:17 -msgid "Warrant payslips are generated directly from the :guilabel:`Payslips Batches` dashboard, which is accessed by navigating to :menuselection:`Payroll app --> Payslips --> Batches`." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:75 +msgid "Bangladesh" msgstr "" -#: ../../content/applications/hr/payroll/commissions.rst:20 -msgid "First, click the :guilabel:`Generate Warrant Payslips` button in the top-left corner. Doing so reveals a :guilabel:`Generate Warrant Payslips` pop-up window, in which the necessary information **must** be filled out." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:76 +msgid ":doc:`Egypt `" msgstr "" -#: ../../content/applications/hr/payroll/commissions.rst:24 -msgid "Set the time frame the commission was earned, in the two fields next to :guilabel:`Period`. Click into each field, and a calendar pop-up window loads. Navigate to the desired date and click on it to select it." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:77 +msgid ":doc:`Hong Kong `" msgstr "" -#: ../../content/applications/hr/payroll/commissions.rst:28 -msgid "Using the drop-down menu, select the :guilabel:`Department` in the corresponding field. When a department is selected, the employees listed for that department appear in the :guilabel:`Employee` section, below." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:78 +msgid "India" msgstr "" -#: ../../content/applications/hr/payroll/commissions.rst:32 -msgid "If a file is needed for the record, upload a file to the :guilabel:`Import File` field, such as a sales invoice, using the :guilabel:`Upload your file` button. Any file type is accepted." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:79 +msgid "Indonesia" msgstr "" -#: ../../content/applications/hr/payroll/commissions.rst:35 -msgid "Under the :guilabel:`Employee` section, enter the individual :guilabel:`Commission Amount` for each employee in the far-right column. To remove an employee, click the :icon:`fa-trash-o` :guilabel:`(trash)` icon to remove the line." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:80 +msgid ":doc:`Jordan `" msgstr "" -#: ../../content/applications/hr/payroll/commissions.rst:39 -msgid "Add a new commission by clicking :guilabel:`Add a Line`, and entering the :guilabel:`Employee` and the appropriate :guilabel:`Commission Amount`." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:81 +msgid "Kenya" msgstr "" -#: ../../content/applications/hr/payroll/commissions.rst:42 -msgid "Once all the commissions are properly entered, click the :guilabel:`Generate Payslips` button to create the warrant payslips in a batch, or click :guilabel:`Export` to export a CSV file of the commissions." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:82 +msgid "Lithuania" msgstr "" -#: ../../content/applications/hr/payroll/commissions.rst:46 -msgid ":ref:`Process the batch ` in the same way as a typical batch to complete the payment process." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:83 +msgid "Luxembourg" msgstr "" -#: ../../content/applications/hr/payroll/commissions.rst:-1 -msgid "Enter the commission details." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:84 +msgid "Malaysia" msgstr "" -#: ../../content/applications/hr/payroll/commissions.rst:53 -msgid ":doc:`Commissions <../../sales/sales/commissions>`" +#: ../../content/applications/hr/payroll/payroll_localizations.rst:85 +msgid ":doc:`Mexico `" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:3 -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:77 -#: ../../content/applications/hr/payroll/payroll_localizations/united_arab_emirates.rst:52 -msgid "Contracts" +#: ../../content/applications/hr/payroll/payroll_localizations.rst:86 +msgid "Morocco" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:5 -msgid "Every employee in Odoo is required to have a running contract in order to be paid. A contract outlines the terms of an employee's position, compensation, working hours, and any other relevant terms." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:87 +msgid "Netherlands" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:10 -msgid "Contract documents (PDFs) are uploaded and organized using the **Documents** application, and are signed using the **Sign** application. Ensure these applications are installed to send and sign contracts. Please refer to the :doc:`../../productivity/documents` and :doc:`../../productivity/sign` documentation for more information." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:88 +msgid "Pakistan" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:18 -msgid "Contracts dashboard" +#: ../../content/applications/hr/payroll/payroll_localizations.rst:89 +msgid "Poland" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:20 -msgid "Both the **Payroll** and **Employees** apps display *identical employee contract information*." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:90 +msgid "Romania" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:22 -msgid "To access the contracts dashboard from the **Employees** app, navigate to :menuselection:`Employees app --> Employees --> Contracts`. To access the contracts dashboard from the **Payroll** app, navigate to :menuselection:`Payroll app --> Contracts --> Contracts`." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:91 +msgid ":doc:`Saudi Arabia `" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:26 -msgid "The :guilabel:`Contracts` dashboard displays all employee contracts in a default list view, grouped by :guilabel:`Status`. The available status groupings are :guilabel:`New`, :guilabel:`Running`, :guilabel:`Expired`, and :guilabel:`Cancelled`. Each grouping displays the number of contracts within the grouping." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:92 +msgid "Slovakia" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:-1 -msgid "Contracts dashboard view showing running contracts and contracts with issues." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:93 +msgid "Switzerland" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:35 -msgid "Any changes made to contracts in the **Employees** app is reflected in the **Payroll** app, and vice versa. Contract information remains identical, regardless of where the contract information is accessed." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:94 +msgid "Türkiye" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:42 -msgid "Create a contract" +#: ../../content/applications/hr/payroll/payroll_localizations.rst:95 +msgid ":doc:`United Arab Emirates `" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:44 -msgid "To create a new contract, click the :guilabel:`New` button on the :ref:`Contracts dashboard `, and a blank contract form appears." +#: ../../content/applications/hr/payroll/payroll_localizations.rst:96 +msgid ":doc:`United States `" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:52 -msgid "Enter the following information in the top-half of the blank contract form:" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:3 +msgid "Australia" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:54 -msgid ":guilabel:`Contact Reference`: Type in the name or title for the contract, such as `John Smith Contract`. This field is **required**." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:8 +msgid "Odoo is currently in the process of becoming compliant with STP Phase 2 and SuperStream. An announcement will be made as soon as companies can use Odoo for payroll as a one-stop platform." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:56 -msgid ":guilabel:`Employee`: Using the drop-down menu, select the employee the contract is for." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:12 +msgid "Setting up employees" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:57 -msgid ":guilabel:`Contract Start Date`: Select the date the contract goes into effect. Contracts can be created retroactively, or be created to begin at a future date. The current date populates this required field by default, but can be modified." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:15 +msgid "Employee settings" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:60 -msgid ":guilabel:`Contract End Date`: If the contract has a firm end date, enter the date in this field. Leave this field blank if the contract runs indefinitely, or until a new contract is made (when the employee has a change to their job title, salary, or benefits)." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:17 +msgid "Create an employee by going to :menuselection:`Employees --> New`. Go to the :guilabel:`Settings` tab, and configure the :guilabel:`Australian Payroll` section, for example checking if they are :guilabel:`Non-resident`, if they benefit from the :guilabel:`Tax-free Threshold`, their :guilabel:`TFN Status`, :guilabel:`Employee Type`, etc." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:63 -msgid ":guilabel:`Working Schedule`: Select one of the available working schedules the employee is expected to work, from the drop-down menu. The selected working schedule determines how :doc:`work entries ` are generated, which determines the employees schedule and compensation. If this field is left blank, this allows the employee to work as many or as few hours as desired every week, with no restrictions." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Employee settings tab for the Australian payroll localization." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:70 -msgid "The :guilabel:`Working Schedule` drop-down menu displays all the working schedules for the selected company. To modify or add to this list, go to :menuselection:`Payroll app --> Configuration --> Working Schedules`. Click :guilabel:`New`, and create a new working schedule, or click on an existing working schedule and make edits." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:26 +msgid "Employee private information" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:77 -msgid ":guilabel:`Work Entry Source`: Using the drop-down menu, select how the :doc:`work entries ` are generated. This field is **required**. Click the radio button next to the desired selection. The options are:" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:28 +msgid "In addition, some personal employee information is required for payroll compliance with Single Touch Payroll, and to process superannuation payments. Open the employee's :guilabel:`Private Information` tab and fill in the following fields:" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:81 -msgid ":guilabel:`Working Schedule`: Work entries are generated based on the selected :guilabel:`Working Schedule`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:32 +msgid ":guilabel:`Private Address`" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:83 -msgid ":guilabel:`Attendances`: Work entries are generated based on the employee's check-in records in the **Attendances** app. (This requires the **Attendances** app to be installed)." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:33 +msgid ":guilabel:`Private Email`" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:85 -msgid ":guilabel:`Planning`: Work entries are generated based on the planned schedule for the employee from the **Planning** app. (This requires the **Planning** app to be installed)." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:34 +msgid ":guilabel:`Private Phone`" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:88 -msgid ":guilabel:`Salary Structure Type`: Select one of the salary structure types from the drop-down menu. The default salary structure types are :guilabel:`Employee` or :guilabel:`Worker`. A :ref:`new salary structure type ` can be created, if needed." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:35 +msgid ":guilabel:`Date of Birth`" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:91 -msgid ":guilabel:`Department`: Select the department the employee is working within, using the drop-down menu." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Employee private information tab for the Australian payroll localization." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:93 -msgid ":guilabel:`Job Position`: Select the employee's specific job position using the drop-down menu." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:41 +msgid "Odoo will remind you to complete the required data at different stages of the process." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:96 -msgid "If the selected :guilabel:`Job Position` has a contract template linked to it with a specific :guilabel:`Salary Structure Type`, the :guilabel:`Salary Structure Type` changes to the one associated with that :guilabel:`Job Position`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:44 +msgid "Super accounts and funds" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:100 -msgid ":guilabel:`Contract Type`: Using the drop-down menu, select the type of contract being created. The default options are :guilabel:`Permanent`, :guilabel:`Temporary`, :guilabel:`Seasonal`, :guilabel:`Full-Time`, :guilabel:`Intern`, :guilabel:`Student`, :guilabel:`Apprenticeship`, :guilabel:`Thesis`, :guilabel:`Statutory`, and :guilabel:`Employee`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:46 +msgid "You can add the superannuation details of new employees under the employee's :guilabel:`Super Accounts` tab. Click :guilabel:`Add a line` and make sure to include the :guilabel:`Member Since` date, :guilabel:`Member Number`, and :guilabel:`Super Fund`." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:104 -msgid ":guilabel:`Wage on Payroll`: Enter the employee's monthly wage in this field." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:51 +msgid "Use the :guilabel:`Proportion` field if an employee's contributions should sent to multiple funds at a time." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:107 -msgid "The :guilabel:`Working Schedule` drop-down menu displays all the working times for the selected :guilabel:`Company`. To modify or add to this list, go to :menuselection:`Payroll app --> Configuration --> Working Times`, and either :guilabel:`Create` a new working time, or click on an existing working time, then edit it by clicking :guilabel:`Edit`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Configuring a super fund and super account for the Australian payroll localization." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:112 -msgid ":guilabel:`HR Responsible`: Select the person who is responsible for validating the contract using the drop-down menu. This field is required." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:57 +msgid "To create a new :guilabel:`Super Fund`, start typing its name and click :guilabel:`Create and edit...`. Fill in its:" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:116 -msgid "The :guilabel:`HR Responsible` field only appears if the **Salary Configurator** (`hr_contract_salary`) module and the **Sign** app are both installed." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:60 +msgid ":guilabel:`Address`" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:-1 -msgid "New contract form to be filled in when creating a new contract." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:61 +msgid ":guilabel:`ABN`" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:123 -#: ../../content/applications/hr/payroll/contracts.rst:332 -msgid "Salary information tab" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:62 +msgid ":guilabel:`Type` (APRA / SMSF)" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:125 -msgid "The :guilabel:`Salary Information` tab is where the specific details of how much and how often the employee is paid. Fill in the following fields in this tab:" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:63 +msgid "unique identifier (:guilabel:`USI` for APRA, :guilabel:`ESA` for SMSF)" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:128 -msgid ":guilabel:`Wage Type`: Using the drop-down menu, select what kind of pay the employee receives. The two default options are :guilabel:`Fixed Wage` or :guilabel:`Hourly Wage`. Select :guilabel:`Fixed Wage` for salaried employees, and select :guilabel:`Hourly Wage` for employees who are paid based on their logged worked hours." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:64 +msgid "(for SMFS only) :guilabel:`Bank Account`" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:132 -msgid ":guilabel:`Schedule Pay`: Using the drop-down menu, select how often the employee is paid. The default options are :guilabel:`Annually`, :guilabel:`Semi-annually`, :guilabel:`Quarterly`, :guilabel:`Bi-monthly`, :guilabel:`Monthly`, :guilabel:`Semi-monthly`, :guilabel:`Bi-weekly`, :guilabel:`Weekly`, or :guilabel:`Daily`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Configuring a super fund for the Australian payroll localization." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:136 -msgid ":guilabel:`Wage`: Enter the amount the employee receives each pay period. The first field allows for a wage to be entered, the second field displays how often the pay is issued to the employee. The second field *cannot* be modified, and is updated when the :guilabel:`Schedule Pay` field changes." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:70 +msgid "Manage all super accounts and funds by going to :menuselection:`Payroll --> Configuration --> Super Funds` or :menuselection:`Super Accounts`." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:140 -msgid ":guilabel:`Yearly Cost (Real)`: This field automatically updates after the :guilabel:`Schedule Pay` and :guilabel:`Wage` fields are entered. This amount is the total yearly cost for the employer. This field can be modified. However, if this is modified, the :guilabel:`Wage` field updates, accordingly. Ensure both the :guilabel:`Wage` and :guilabel:`Yearly Cost (Real)` are correct if this field is modified." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:74 +msgid "Odoo is currently in the process of becoming SuperStream-compliant." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:145 -msgid ":guilabel:`Monthly Cost (Real)`: This field automatically updates after the :guilabel:`Schedule Pay` and :guilabel:`Wage` fields are entered. This amount is the total monthly cost for the employer. This field **cannot** be modified, and is calculated based on the :guilabel:`Yearly Cost (Real)`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:79 +msgid "Once the employee has been created, create their employment contract by clicking the :icon:`fa-book` :guilabel:`Contracts` smart button, or by going to :menuselection:`Employees --> Employees --> Contracts`." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:-1 -msgid "The Salary Information tab filled out." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:84 +msgid "Only one contract can be active per employee at a time. However, an employee can be assigned consecutive contracts during their employment." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:154 -#: ../../content/applications/hr/recruitment/add-new-applicants.rst:109 -msgid "Details tab" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:88 +msgid "Employment contract creation: recommended steps" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:156 -msgid "The :guilabel:`Details` tab of the contract houses the contract template information, accounting information (refer to the :doc:`country-specific localization document ` for more information), any part time work information, and notes. Fill out the following fields in this tab:" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Recommended steps to create an employment contract." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:161 -msgid ":guilabel:`Contract Template`: Using the drop-down menu, select a :ref:`contract template ` to use when making an offer to an applicant." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:94 +msgid "1. Basic contractual information" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:163 -msgid ":guilabel:`Originated Offer`: This field automatically populates with the original offer sent to the employee. This field is **not** modifiable, and is only populated if applicable." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:96 +msgid "Select the :guilabel:`Contract Start Date` and :guilabel:`Working Schedule` (set, or flexible for casual workers)." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:165 -msgid ":guilabel:`Part Time`: Tick the checkbox if the contract is for part time work. Once enabled, a percentage field appears next to the checkbox. The percentage **cannot** be modified, and automatically updates based on the selected :guilabel:`Working Schedule` in the top-half of the contract, compared to the typical working schedule for the company (typically 40 hours/week)." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:98 +msgid "Keep the :guilabel:`Salary Structure Type` set to :guilabel:`Australian Employee`. This structure covers all of the ATO's tax schedules." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:171 -msgid ":guilabel:`Standard Calendar`: This field is automatically populated with the default working schedule for the company. In most cases, this is :guilabel:`Standard 40 hours/week`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:103 +msgid "(if using the Attendances or Planning app) Select the :guilabel:`Work Entry Source` to define how working hours and days are accounted for on the employee's payslip." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:173 -msgid ":guilabel:`Part Time Work Entry Type`: Using the drop-down menu, select the work entry type that generates the balance of a full-time working schedule." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:106 +msgid ":guilabel:`Working Schedule`: work entries are automatically generated based on the employee's working schedule, starting from the contract's start date." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:177 -msgid "An employee contract is being created for a part-time employee who works 20 hours a week." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:110 +msgid "An employee works 38 hours a week, their contract begins on 01/01, today's date is 16/01, and the user generates a pay run from 14/01 to 20/01. The working hours on the payslip will be automatically calculated to be 38 hours (5 * 7.36 hours) if no unpaid leave is taken." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:179 -msgid "To configure this, the employee's :guilabel:`Working Schedule` is set to :guilabel:`20 Hours/Part time` in the :ref:`general information section `. In the :guilabel:`Details` tab, the :guilabel:`Part Time` checkbox is ticked, and the percentage is set to `50`. The :guilabel:`Standard Calendar` is set to :guilabel:`Standard 40 hours/week`, and the :guilabel:`Part Time Work Entry Type` is set to :guilabel:`Unpaid`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:114 +msgid ":guilabel:`Attendances`: the working schedule is ignored, and work entries are only generated after clocking in and out of the Attendances app. Note that attendances can be imported." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:185 -msgid "When a typical work week is processed in the **Payroll** app, the employee generates twenty (20) hours of regular work entries under the work entry type `Attendance`, and another twenty (20) hours of work entries under the work entry type `Unpaid`, for a total of forty (40) hours worth of work entries." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:116 +msgid ":guilabel:`Planning`: the working schedule is ignored, and work entries are generated from planning shifts in the Planning app." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:190 -msgid ":guilabel:`Notes`: Enter any relevant notes for the contract in this field." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:120 +msgid "Timesheets do not impact work entries in Odoo. If you need to import your timesheets in Odoo, import them by going to :menuselection:`Payroll --> Work Entries --> Work Entries` instead." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:-1 -msgid "The Details tab filled out." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:124 +msgid "2. Salary Information tab" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:196 -#: ../../content/applications/hr/payroll/contracts.rst:368 -msgid "Signatories tab" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:126 +msgid ":guilabel:`Wage Type`: select :guilabel:`Fixed Wage` for full-time and part-time employees, and :guilabel:`Hourly Wage` for casual workers. The latter allows you to add a :guilabel:`Casual Loading` percentage." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:198 -msgid "The :guilabel:`Signatories` tab is where the default contract templates are selected, for both new and updated contracts." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:131 +msgid "For hourly workers, the :guilabel:`Hourly Wage` field should exclude casual loading." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:201 -msgid "Using the drop-down menu, select the default contract template to use when creating a new or updated contract, in the respective fields." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:133 +msgid ":guilabel:`Schedule Pay`: in Australia, only the following pay run frequencies are accepted: :guilabel:`Daily`, :guilabel:`Weekly`, :guilabel:`Bi-weekly` (or fortnightly), :guilabel:`Monthly`, and :guilabel:`Quarterly`." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:204 -msgid "Once a PDF template is selected, any mapped signature fields in the file appear in a list, below the selection, identifying who must sign the document. These fields **cannot** be updated." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:136 +msgid ":guilabel:`Wage` /*period*: assign a wage to the contract according to their pay frequency. On payslips, the corresponding annual and hourly rates will be computed automatically." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:207 -msgid "Any changes to the template and signatories but be done in the **Sign** app, where contract templates are uploaded, modified, and stored." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:140 +msgid "3. Australia tab" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:211 -msgid "The :guilabel:`PDF Template` fields are only visible if the **Sign** app is installed, along with the :guilabel:`hr_contract_salary` and :guilabel:`hr_contract_salary_payroll` :doc:`modules <../../general/apps_modules>`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Australia tab of a contract." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:-1 -msgid "The Signatories tab with the roles specified for signing." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:145 +msgid ":guilabel:`General`" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:219 -msgid "Personal documents tab" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:147 +msgid "Add the :guilabel:`Regular Pay Day` if relevant." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:221 -msgid "Occasionally, additional paperwork may be required when creating a contract, such as legal documents declaring the employee is able to work in the country. When this situation occurs, Odoo allows for one image file of the necessary document to be attached to a contract in the :guilabel:`Personal Documents` tab." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:148 +msgid "Enable :guilabel:`Report in BAS - W3` if you choose to add PAYG withholding amounts in BAS section W3 instead of W2 (refer to the `ATO's web page on PAYG withholding `_ for more information)." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:226 -msgid "Click the :guilabel:`Upload your file` button, navigate to the desired document, and click :guilabel:`Select` to attach the file to the contract. The file name appears on the :guilabel:`Image` line." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:153 +msgid ":guilabel:`Leave loading / workplace giving`" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:231 -msgid "This tab **only** appears after an :guilabel:`Employee` is selected. Additionally, only image files can be attached in this field at this time." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:155 +msgid "Define whether your employees are :guilabel:`Eligible for Leave Loading`." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:235 -#: ../../content/applications/hr/payroll/salary_attachments.rst:3 -msgid "Salary attachments" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:156 +msgid "Set the :guilabel:`Workplace Giving Employee` amount in exchange for deductions." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:237 -msgid "After an employee is selected for the contract, a :icon:`fa-book` :guilabel:`Salary Attachments` smart button appears at the top of the page." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:157 +msgid "Set the :guilabel:`Salary Sacrificed Workplace Giving` amount (e.g., receiving a benefit instead of a deduction)." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:240 -msgid "For new employees who do not currently have a contract, the smart button displays :guilabel:`New`. If the contract is being updated for a current employee who already has salary attachments configured, the smart button displays the number of salary attachments currently running." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:160 +msgid ":guilabel:`Super contributions`" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:244 -msgid ":doc:`Create or update any necessary salary attachments ` for the contract, before sending." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:162 +msgid "Add the :guilabel:`Extra Negotiated Super %` on top of the *super guarantee*." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:248 -msgid "Send a contract" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:163 +msgid "Add the :guilabel:`Extra Compulsory Super %` as per industrial agreements or awards obligations." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:250 -msgid "After a contract has been created and configured, the next step is to send it to the employee or applicant. Click the :guilabel:`Generate Offer` button, and the :guilabel:`Offer for (Employee)` form loads." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:165 +msgid ":guilabel:`Salary sacrifice`" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:254 -msgid "The :guilabel:`Offer for (Employee)` form displays all the basic information from the contract, as well as a link the employee can use to sign the contract. The last field on the form is a :guilabel:`Validity Days Count` field. This indicates how long the offer is valid. Enter the desired number of days in the field. The default is `30` days." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:167 +msgid ":guilabel:`Salary Sacrifice Superannuation` allows employees to sacrifice part of their salary in favor of reportable employer superannuation contributions (RESC)." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:259 -msgid "Click :guilabel:`Send By Email` and a pop-up email window loads, using a preconfigured default email template. Click :guilabel:`Send` to send the offer." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:169 +msgid ":guilabel:`Salary Sacrifice Other Benefits` allows them to sacrifice part of their salary towards some other form of benefit (refer to the `ATO's web page on Salary sacrificing for employees `_ for more information)." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:263 -msgid "In order to send a contract using the :guilabel:`Generate Offer` button, there **must** be an employee signature field on the contract PDF being sent." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:175 +msgid "As of Odoo 18, salary sacrificing for other benefits currently does not impact fringe benefits tax (FBT) reporting." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:-1 -msgid "Send the contract to the employee via one of the buttons." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:181 +msgid "4. Salary attachments" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:270 -msgid "Contract status" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:183 +msgid "If the employee is to receive additional recurring payments every pay run, whether indefinitely or for a set number of periods, click the :icon:`fa-book` :guilabel:`Salary Attachments` smart button on the contract. Choose a :guilabel:`Type` and a :guilabel:`Description`." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:272 -msgid "When creating and sending out a contract, the default status of the contract is :guilabel:`New`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:188 +msgid "Around 32 recurring salary attachment types exist for Australia. These are mostly related to allowances and child support. `Contact us `_ for more information as to whether allowances from your industry can be covered." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:274 -msgid "Once there is a minimum of one completed signature on the document, the status changes to :guilabel:`Partially Signed`. Internal users, such as HR and recruitment employees, are alerted in the database when there is a signature requested of them." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:193 +msgid "5. Run the contract" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:278 -msgid "After all required parties have signed the contract, the status changes to :guilabel:`Fully Signed`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Example of a running contract." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:280 -msgid "All status changes happen automatically as the document is signed." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:198 +msgid "Once all the information has been completed, change the contract stage from :guilabel:`New` to :guilabel:`Running`." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:285 -msgid "Contract templates" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:202 +msgid "Prepare pay runs" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:287 -msgid "Contract *templates* eliminate the need to configure new contracts every time an employee is hired." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:205 +msgid "Regular" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:290 -msgid "Having multiple contract templates allows for faster contract creation for different types of employment positions that are commonly filled, such as full time, part time, seasonal, etc." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:207 +msgid "Pay runs are created by going to :menuselection:`Payroll --> Payslips --> Batches`. After clicking :guilabel:`New`, enter a :guilabel:`Batch Name`, select a :guilabel:`Period`, and click :guilabel:`Generate Payslips`." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:293 -msgid "Contract templates are created through the **Payroll** app configuration menu, and stored in the **Documents** app." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Steps to generate payslips." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:297 -msgid "To access contract templates, the **Salary Configurator** (`hr_contract_salary`) module **must** be :ref:`installed `." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:214 +msgid "Employees on a pay run can be filtered down by :guilabel:`Department` and :guilabel:`Job Position`. There is no limit to the amount of payslips that can be created in one batch. After clicking :guilabel:`Generate`, one payslip is created per employee in the :guilabel:`Waiting` stage, in which they can be reviewed and amended before validation." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:300 -msgid "To view all contract templates, navigate to :menuselection:`Payroll app --> Configuration --> Templates`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Generated payslips in the waiting stage." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:303 -msgid "The :guilabel:`Contract Templates` page lists all existing templates. Click a template line to open and edit it." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:222 +msgid "On the payslip form view, there are two types of inputs:" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:306 -msgid "To create a new contract template, click the :guilabel:`New` button. Then, enter the following information on the blank contract template form that appears:" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:224 +msgid ":guilabel:`Worked days` are computed based on the :ref:`work entry source set on the employee's contract `. :ref:`Work entries can be configured ` according to different types: attendance, overtime, Saturday rate, Sunday rate, public holiday rate, etc." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:309 -msgid ":guilabel:`Contract Reference`: Enter a brief description for the template. This should be clear and easily understood, as this name appears in the **Recruitment** application, as well." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:228 +msgid ":guilabel:`Other inputs` are individual payments or amounts of :ref:`different types ` (allowances, lump sums, deductions, termination payments, leaves, etc.) that have little to do with the hours worked during the current pay period. The :ref:`previously configured salary attachments ` are simply recurring other inputs attached to a contract." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:311 -msgid ":guilabel:`Working Schedule`: Select the desired working schedule the contract applies to from the drop-down menu. If a new working schedule is needed, create a :ref:`new working schedule `." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Worked days and other inputs of a payslip." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:314 -msgid ":guilabel:`Work Entry Source`: Select :ref:`how the work entries are generated `." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:237 +msgid "Under the :guilabel:`Salary Computation` tab, Odoo automatically computes payslip rules based on employees, contracts, worked hours, other input types, and salary attachments." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:316 -msgid ":guilabel:`Salary Structure Type`: Select the :ref:`salary structure type ` from the drop-down menu." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:240 +msgid "The salary structure *Australian Employee* has 35 payslip rules that automatically compute and dynamically display according to the payslip inputs." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:318 -msgid ":guilabel:`Department`: Select the department the contract template applies to from the drop-down menu. If blank, the template applies to all departments." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:0 +msgid "Salary computation tab of a payslip" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:320 -msgid ":guilabel:`Job Position`: Select the :ref:`job position ` the contract template applies to from the drop-down menu. If blank, the template applies to all job positions." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:248 +msgid "The following rules apply for that pay period in the above example:" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:322 -msgid ":guilabel:`Contract Type`: Select the type of contract from the drop-down menu. This list is the same as the *employment type*." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:250 +msgid ":guilabel:`Basic Salary`: pre-sacrifice gross salary" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:324 -msgid ":guilabel:`Wage on Payroll`: Enter the monthly wage in the field." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:251 +msgid ":guilabel:`Ordinary Time Earnings`: amount to which the super guarantee percentage needs to be applied" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:325 -msgid ":guilabel:`HR Responsible`: Select the employee responsible for validating contracts, using this template, from the drop-down menu." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:253 +msgid ":guilabel:`Salary Sacrifice Total`: includes the $150 sacrificed to superannuation" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:-1 -msgid "A new contract template form, with the fields filled in." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:254 +msgid ":guilabel:`Taxable Allowance Payments`: includes the $10 allowance (*cents per KM* in this case)" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:334 -msgid ":guilabel:`Wage Type`: Select either :guilabel:`Fixed Wage` or :guilabel:`Hourly Wage` from the drop-down menu." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:256 +msgid ":guilabel:`Taxable Salary`: gross salary amount minus non-taxable amounts" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:336 -msgid ":guilabel:`Schedule Pay`: Using the drop-down menu, select how often the employee is paid. Options include :guilabel:`Annually`, :guilabel:`Semi-annually`, :guilabel:`Quarterly`, :guilabel:`Bi-monthly`, :guilabel:`Monthly`, :guilabel:`Semi-monthly`, :guilabel:`Bi-weekly`, :guilabel:`Weekly`, or :guilabel:`Daily`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:257 +msgid ":guilabel:`Salary Withholding` and :guilabel:`Total Withholding`: amounts to be withheld from the taxable salary" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:340 -msgid ":guilabel:`Wage`: Enter the gross wage. The time period presented in this field is based on what is selected for the :guilabel:`Scheduled Pay` field. It is recommended to populate the :guilabel:`Yearly Cost (Real)` field *first*, since that entry updates this field automatically." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:259 +msgid ":guilabel:`Net Salary`: the employee's net wage" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:343 -msgid ":guilabel:`Yearly Cost (Real)`: Enter the total yearly cost the employee costs the employer. When this value is entered, the :guilabel:`Monthly Cost (Real)` is automatically updated." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:260 +msgid ":guilabel:`Concessional Super Contribution`: in this scenario, the amount sacrificed to superannuation, payable to the employee's super fund in addition to the super guarantee" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:345 -msgid ":guilabel:`Monthly Cost (Real)`: This field is **not** editable. The value is automatically populated after the :guilabel:`Yearly Cost (Real)` is entered." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:262 +msgid ":guilabel:`Super Guarantee`: as of 01 July 2024, it is computed as 11.5% of the ordinary time earnings amount" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:349 -msgid "The :guilabel:`Schedule Pay`, :guilabel:`Wage`, and :guilabel:`Yearly Cost (Real)` fields are all linked. If any of these fields are updated, the other two fields automatically update to reflect the change. It is best practice to check these three fields if any modifications have been made, to ensure they are accurate." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:266 +msgid "As of Odoo 18, the most recent tax schedule rates (2024-2025) have been updated for all salary rules and computations." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:-1 -msgid "The salary information tab, with the fields filled in." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:270 +msgid "Out-of-cycle" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:358 -msgid "Benefits and deductions" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:272 +msgid "In Australia, payslips created without a batch are considered to be *out-of-cycle* runs. Create them by going to :menuselection:`Payroll --> Payslips --> Individual Payslips`. The same payslip rules apply, but the way these payslips are submitted to the ATO in the frame of Single Touch Payroll (STP) is slightly different." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:360 -msgid "Depending on the :doc:`payroll localization ` for the company, the entries presented in this section either vary, or may not appear at all. For example, some entries may pertain to retirement accounts, health insurance benefits, and commuter benefits." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:278 +msgid "As of Odoo 18, adding an out-of-cycle payslip to an existing batch is **not** recommended." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:364 -msgid "Enter the monetary amounts or percentages to specify how much of the employee's salary goes to the various benefits and deductions." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:281 +msgid "Finalise pay runs" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:370 -msgid "This tab outlines which documents the employee must sign to either accept a new offer or an updated contract." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:284 +msgid "Validate payslips" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:373 -msgid ":guilabel:`New Contract PDF Template`: Select the default document that a new employee has to sign to accept an offer." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:286 +msgid "Once all payslip data is deemed correct, click :guilabel:`Create Draft Entry` on the payslip batch. This can also be done payslip by payslip for control reasons." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:375 -msgid ":guilabel:`Contract Update PDF Template`: Select the default document that a current employee has to sign to update their contract." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:289 +msgid "This has several impacts:" msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:379 -msgid ":doc:`../../productivity/documents`" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:291 +msgid "Marking the batch and its payslips as :guilabel:`Done`." msgstr "" -#: ../../content/applications/hr/payroll/contracts.rst:380 -msgid ":doc:`../../productivity/sign`" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:292 +msgid "Creating a draft accounting entry per payslip or one entry for the whole batch, depending on your payroll settings. At this stage, accountants can post entries to affect the balance sheet, P&L report, and BAS report." msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:3 -msgid "Headcount report" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:295 +msgid "Preparing the STP submission (or payroll data to be filed to the ATO as part of STP compliance). This needs to be performed by the :guilabel:`STP Responsible` user, defined under :menuselection:`Payroll --> Configuration --> Settings`." msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:5 -msgid "The *Headcount report* in the **Payroll** app shows the number of employees on payroll and allows headcount comparisons between different periods of time." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:298 +msgid "Preparing super contribution lines as part of SuperStream compliance. This needs to be done by the :guilabel:`HR Super Send` user selected under :menuselection:`Payroll --> Configuration --> Settings`." msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:9 -msgid "Create a headcount report" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Example of a draft payslip." msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:11 -msgid "Create a headcount report to see the number of employees at a specific time or compare headcounts across periods." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:306 +msgid "Submit payroll data to the ATO" msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:14 -msgid "To create a headcount report, navigate to :menuselection:`Payroll app --> Reporting --> Headcount` and click :guilabel:`New`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:309 +msgid "Odoo is currently in the process of becoming compliant with STP Phase 2, and this step described above does not submit data yet to the ATO." msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:17 -msgid "Report name: generated automatically as `Headcount for (Company Name) on the (YYYY-MM-DD)` and **cannot** be modified." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:312 +msgid "As per ATO requirements, STP submission for a pay run needs to be done on or before the payday. For this reason, submit your STP data to the ATO first before proceeding with payment. To do so, click :guilabel:`Submit to ATO` on the payslip batch." msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:19 -msgid ":guilabel:`Company`: populated automatically (works in both single and multi-company databases)" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:316 +msgid "On the STP record for this pay run, a few useful information is displayed:" msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:20 -msgid ":guilabel:`From`/:guilabel:`To` dates: defaults to current date (from) and blank (to). Adjust these to define the period to analyze." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:318 +msgid "a warning message if important information is missing," msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:-1 -msgid "A headcount report form filled out for the third quarter of 2025." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:319 +msgid "an automatically generated activity for the STP responsible user, and" msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:26 -msgid "Next, click :guilabel:`Populate` to generate the report." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:320 +msgid "a summary of payslips contained in this pay run, auditable from this view." msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:28 -msgid "At the top of the form, a :icon:`fa-people` :guilabel:`Employees` smart button appears. Clicking the button displays the total number of employees for the selected period." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Example of an STP record." msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:32 -msgid "View all headcount reports" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:325 +msgid "Once the STP record is ready to go, click :guilabel:`Submit to ATO`, then read and accept the related terms and conditions." msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:34 -msgid "See how the company headcount has changed over time by viewing all headcount reports in a list view." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:329 +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:219 +#: ../../content/applications/hr/payroll/payroll_localizations/united_arab_emirates.rst:333 +msgid "Pay employees" msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:36 -msgid "To view all headcount reports, navigate to :menuselection:`Payroll app --> Reporting --> Headcount`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:331 +msgid "Once the ATO submission is complete, you can proceed to pay your employees. To facilitate the payment matching process, remember to post the payslip-related journal entries prior to validating a payment." msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:39 -msgid "View employees in a headcount" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:335 +msgid "Although you may decide to pay your employees individually, we recommend creating a batch payment from your payslip batch. To do so, click :guilabel:`Pay` on the payslip batch, and select :guilabel:`ABA Credit Transfer` as the :guilabel:`Payment Method`." msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:41 -msgid "TO get an overall view of employees and their salary impact on the company, view all employee records of a specific headcount report." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Selecting the payment method for a payslip batch." msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:44 -msgid "To view the employees of a specific headcount report, click the :icon:`fa-people` :guilabel:`Employees` smart button at the top of a headcount report." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:342 +msgid "This has two impacts:" msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:47 -msgid "All employees from the headcount appear in a list view, grouped by :guilabel:`Department`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:344 +msgid "Marking the batch and its payslips as :guilabel:`Paid`." msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:49 -msgid ":guilabel:`Employee`: the employee's full name" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:345 +msgid "Creating a :guilabel:`Payment Batch` linked to the payslip batch." msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:50 -msgid ":guilabel:`Department`: the department their job position is in" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Example of a paid batch of payslips." msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:51 -msgid ":guilabel:`Job Title`: their role" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:350 +msgid "When receiving the bank statement in Odoo, you can now match the statement line with the batch payment in one click. The payment is not reconciled against the payslip batch, and all individual payslips." msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:52 -msgid ":guilabel:`Employer Cost`: how much the company pays the employee each pay-period" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Steps to reconcile a bank statement with a batch payment." msgstr "" -#: ../../content/applications/hr/payroll/headcount.rst:53 -msgid ":guilabel:`Wage on Payroll`: the dollar amount on payroll reports" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:358 +msgid "Impact on accounting" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:5 -msgid "Payroll localizations" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:360 +msgid "Depending on the employee and contract configuration, the journal entry linked to a payslip will be more or less exhaustive." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:7 -msgid "*Localizations* are country-specific settings preconfigured in Odoo at the creation of the database, which account for all taxes, fees, and allowances for that particular country." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:364 +msgid "For instance, here is the journal entry generated by the employee Marcus Cook configured above." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:10 -msgid "*Payroll localizations* refer to the specific process of adapting payroll systems, policies, and compliance measures to align with the specific labor laws, tax regulations, and social security requirements of a particular country or region." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:0 +msgid "Example of a journal entry for a payslip" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:14 -msgid "This ensures that employee salaries, benefits, deductions, and contributions are processed accurately and in full compliance with local legal and financial obligations." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:369 +msgid "Once posted, predefined accounts will impact the company's balance sheet (PAYGW, wages, and superannuation liabilities) and profit & loss report (wages and superannuation expenses). In addition, the employee's gross wage and PAYG withholding will update the BAS report for the relevant period (see Tax Grid: W1 and W2). Accounts can be adjusted to the company's chart of accounts." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:17 -msgid "Localization also includes integrating country-specific payroll elements such as benefits, holidays, termination rules, and reporting requirements, helping businesses avoid legal risks while ensuring employees receive their correct compensation." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Example of a BAS report PAYG tax witheld section." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:22 -msgid "Install localization package" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:378 +msgid "Other payroll flows" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:24 -msgid "A country-specific localization module :ref:`must be installed ` to properly configure and process payroll. To install the required module, first open the **Apps** app." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:381 +msgid "Paying super contributions" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:27 -msgid "Clear out the default :icon:`fa-filter` :guilabel:`Apps` filter, then type the name of the desired country into the search bar. All available modules for that country are presented." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:384 +msgid "Odoo has a partnership with a clearing house to process both superannuation payments and data to the right funds in one click, via direct debit. Odoo is currently in the process of becoming compliant with SuperStream, and an announcement will be made as soon as superannuation contributions can be processed via Odoo's payroll solution." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:31 -msgid "Some countries only have one localization module, while other have multiple modules. This is typically when other software is neede to process payroll, and importing and exporting data is required." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:389 +msgid "Once a quarter (or more frequently, in preparation for `Payday Super `_), you have to process superannuation payments to your employees' super funds. To do so, go to :menuselection:`Payroll --> Reporting --> Super Contributions`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:35 -msgid "For example. when searching for **Payroll** modules for `Egypt`, the following modules appear in the search, and must be installed: `Egypt - Payroll` and `Egypt - Payroll with Accounting`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Example of a super file." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:38 -msgid "Refer to the :ref:`country-specific documentation ` for a complete list of the related **Payroll** modules required for each specific country." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:397 +msgid "When ready to pay, add the :guilabel:`Bank Journal` that will be used to pay the super from, then click :guilabel:`Lock` to prevent the contributions from subsequent payslips from being added to that file. Instead, a new Super file will be created." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:42 -msgid "To see if any localization modules have been installed on the database, navigate to :menuselection:`Payroll app --> Configuration --> Settings`. In the :guilabel:`Settings` page, if a localization module was installed, a :guilabel:`(Country) Localization` section appears." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:401 +msgid "Once the payment has been processed, it can be traced back to the Super file and matched with a bank statement." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:47 -msgid "It is **not** recommended to alter the localization settings, unless specifically required." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Example of a super file payment." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:50 -msgid "Odoo can handle a multi-company configuration. This is generally done when there is a main company or office location, such as a headquarters, and there are other offices/branches around the country or globe, that fall under that main company or headquarters. In Odoo, each company, including the headquarters, must be set up as their own company/branch using the multi-company method." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:408 +msgid "Terminating employees" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:56 -msgid "Each individual company can have a different localization setting, since locations can vary anywhere in the world, where rules and laws differ." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:410 +msgid "Employees can be terminated by going to :menuselection:`Payroll --> Reporting --> Terminate Employee`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:59 -msgid "For more information on companies, refer to the :doc:`Companies <../../general/companies>` documentation, which covers how to set up companies." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:413 +msgid "The following fields must be completed:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:65 -msgid "List of countries" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:415 +msgid ":guilabel:`Contract End Date`: once the termination is validated, this date will be added to the contract automatically, and mark the contract as :guilabel:`Expired` when the date has been reached." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:67 -msgid "Payroll localization modules are available for the countries listed below." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:418 +msgid ":guilabel:`Cessation Type Code`: a mandatory field for the ATO's STP reporting." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:70 -msgid "New countries are frequently added to this list, as Odoo keeps expanding and improving existing localizations and related documentation." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:419 +msgid ":guilabel:`Termination Type`: the type of redundancy (genuine or non-genuine) affects the computation of unused annual and long service leave withholding." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:73 -msgid ":doc:`Australia `" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Terminating the contract of an employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:74 -msgid ":doc:`Belgium `" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:425 +msgid "The balance of unused annual leaves and long service leaves is displayed for reference." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:75 -msgid "Bangladesh" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:427 +msgid "Confirming the termination creates an out-of-cycle payslip with the tag :guilabel:`final pay`. It computes the worked days until the contract end date, in addition to the employee's unused annual and long service leave entitlements." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:76 -msgid ":doc:`Egypt `" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Example of an out-of-cycle payslip of a terminated employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:77 -msgid ":doc:`Hong Kong `" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:434 +msgid "Odoo automatically computes unused leave entitlements based on the employee's current hourly rate leave loading (for annual leaves only), and the remaining leave balance. However, these amounts can be manually edited in the :guilabel:`Other Inputs` table if necessary." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:78 -msgid "India" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:438 +msgid "Employment Termination Payments (ETP) can also be added to the :guilabel:`Other Inputs` table. Odoo has a comprehensive list of excluded and non-excluded ETPs for companies to select from." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:79 -msgid "Indonesia" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Adding employment termination payments." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:80 -msgid ":doc:`Jordan `" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:445 +msgid "Withholding for unused leaves and ETPs is computed according to the ATO's `Schedule 7 `_ and `Schedule 11 `_ and updated as of 01 July 2024." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:81 -msgid "Kenya" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:451 +msgid "Once an employee has been terminated and the last detailed of their employment resolved, you can archive the employee by clicking the :icon:`fa-cog` (:guilabel:`Actions`) icon, then :icon:`oi-archive` :guilabel:`Archive` on the employee's form view." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:82 -msgid "Lithuania" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:456 +msgid "Switching from another STP software to Odoo" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:83 -msgid "Luxembourg" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:458 +msgid "When switching from another STP-enabled software to Odoo, you might need to maintain the continuity in the YTD values of your employees. Odoo allows importing employees' YTD values by going to :menuselection:`Payroll --> Configuration --> Settings` and clicking :guilabel:`Import YTD Balances`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:84 -msgid "Malaysia" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Import YTD balances button." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:85 -msgid ":doc:`Mexico `" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:466 +msgid "For the ATO to recognize the employee records of your previous software and keep a continuity in Odoo, you must enter the:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:86 -msgid "Morocco" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:469 +msgid ":guilabel:`Previous BMS ID` (one per database)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:87 -msgid "Netherlands" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:470 +msgid ":guilabel:`Previous Payroll ID` (one per employee)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:88 -msgid "Pakistan" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:472 +msgid "Ask your previous software provider if you cannot find its BMS ID or your employees' payroll IDs." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:89 -msgid "Poland" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Importing YTD balances." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:90 -msgid "Romania" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:477 +msgid "This will give you the opportunity to add your employees' YTD opening balances in the current fiscal year. The ATO reports on a lot of different types of YTD. These are represented by the 13 following :guilabel:`Salary Rules` in Odoo." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:91 -msgid "Saudi Arabia" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Salary rules for an employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:92 -msgid "Slovakia" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:485 +msgid "Let us say that the employee Marcus Cook has been transitioned from another STP-enabled software on September 1. Marcus has received two monthly payslips in his previous software (for July and August). Here are the YTD balances Marcus's company needs to transfer to Odoo:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:93 -msgid "Switzerland" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:492 +msgid "YTD category" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:94 -msgid "Türkiye" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:493 +msgid "YTD balance to transfer" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:95 -msgid ":doc:`United Arab Emirates `" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:494 +msgid "Gross (normal attendance)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations.rst:96 -msgid ":doc:`United States `" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:495 +msgid "$13,045.45" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:3 -msgid "Australia" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:496 +msgid "Gross (overtime)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:8 -msgid "Odoo is currently in the process of becoming compliant with STP Phase 2 and SuperStream. An announcement will be made as soon as companies can use Odoo for payroll as a one-stop platform." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:497 +msgid "$1,000" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:12 -msgid "Setting up employees" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:498 +msgid "Paid leave" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:15 -msgid "Employee settings" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:499 +msgid "$954.55" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:17 -msgid "Create an employee by going to :menuselection:`Employees --> New`. Go to the :guilabel:`Settings` tab, and configure the :guilabel:`Australian Payroll` section, for example checking if they are :guilabel:`Non-resident`, if they benefit from the :guilabel:`Tax-free Threshold`, their :guilabel:`TFN Status`, :guilabel:`Employee Type`, etc." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:500 +msgid "Laundry allowance" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Employee settings tab for the Australian payroll localization." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:501 +msgid "$200" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:26 -msgid "Employee private information" -msgstr "" - -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:28 -msgid "In addition, some personal employee information is required for payroll compliance with Single Touch Payroll, and to process superannuation payments. Open the employee's :guilabel:`Private Information` tab and fill in the following fields:" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:502 +msgid "Total withholding" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:32 -msgid ":guilabel:`Private Address`" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:503 +msgid "$2,956" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:33 -msgid ":guilabel:`Private Email`" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:504 +msgid "Super Guarantee" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:34 -msgid ":guilabel:`Private Phone`" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:505 +msgid "$1,610" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:35 -msgid ":guilabel:`Date of Birth`" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:507 +msgid "If some YTD balances need to be reported with more granularity to the ATO, you can use the salary rule's inputs." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Employee private information tab for the Australian payroll localization." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:511 +msgid "For instance, the *Basic Salary* rule can contain six inputs, and three are necessary in our example: regular gross amounts, overtime, and paid leaves. These are all reported differently in terms of YTD amounts." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:41 -msgid "Odoo will remind you to complete the required data at different stages of the process." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:0 +msgid "Adding YTD inputs" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:44 -msgid "Super accounts and funds" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:518 +msgid "The finalized YTD opening balances for Marcus Cook look like the following." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:46 -msgid "You can add the superannuation details of new employees under the employee's :guilabel:`Super Accounts` tab. Click :guilabel:`Add a line` and make sure to include the :guilabel:`Member Since` date, :guilabel:`Member Number`, and :guilabel:`Super Fund`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:0 +msgid "Example of finalized YTD opening balances" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:51 -msgid "Use the :guilabel:`Proportion` field if an employee's contributions should sent to multiple funds at a time." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:523 +msgid "As a result, YTD computations on payslips are based on the employee's opening balances instead of starting from zero." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Configuring a super fund and super account for the Australian payroll localization." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:527 +msgid "STP finalisation" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:57 -msgid "To create a new :guilabel:`Super Fund`, start typing its name and click :guilabel:`Create and edit...`. Fill in its:" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:530 +msgid "Odoo is currently in the process of becoming compliant with STP Phase 2, and the finalisation flows described below do not yet submit data to the ATO." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:60 -msgid ":guilabel:`Address`" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:534 +msgid "EOFY finalisation" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:61 -msgid ":guilabel:`ABN`" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:536 +msgid "Employers reporting through STP must make a finalization declaration by 14 July each year. To do so, go to :menuselection:`Payroll --> Reporting --> STP Finalisation`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:62 -msgid ":guilabel:`Type` (APRA / SMSF)" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "EOFY finalisation of an employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:63 -msgid "unique identifier (:guilabel:`USI` for APRA, :guilabel:`ESA` for SMSF)" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:542 +msgid "Both active and terminated employees to finalise are displayed." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:64 -msgid "(for SMFS only) :guilabel:`Bank Account`" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "List of employees to finalise." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Configuring a super fund for the Australian payroll localization." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:547 +msgid "From the finalisation form view, you can proceed with a final audit of all employees' payslips during the relevant financial year. Once ready, click :guilabel:`Submit to ATO`. When you have made the finalisation declaration, employees will see the status of their payment information change to :guilabel:`Tax ready` on their online income statement after the end of the financial year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:70 -msgid "Manage all super accounts and funds by going to :menuselection:`Payroll --> Configuration --> Super Funds` or :menuselection:`Super Accounts`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:553 +msgid "Individual finalisation" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:74 -msgid "Odoo is currently in the process of becoming SuperStream-compliant." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:555 +msgid "Odoo also allows you to finalise employees individually during the year. This can be useful when:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:79 -msgid "Once the employee has been created, create their employment contract by clicking the :icon:`fa-book` :guilabel:`Contracts` smart button, or by going to :menuselection:`Employees --> Employees --> Contracts`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:557 +msgid "one-off payments are made after a first finalisation; and" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:84 -msgid "Only one contract can be active per employee at a time. However, an employee can be assigned consecutive contracts during their employment." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:558 +msgid "finalisation after termination of employment during the year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:88 -msgid "Employment contract creation: recommended steps" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:560 +msgid "To proceed with an individual finalisation, go to :menuselection:`Payroll --> Reporting --> STP Finalisation`, leave the :guilabel:`EOFY Declaration` checkbox unticked, and manually add employees to be finalised." msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Recommended steps to create an employment contract." +msgid "Individual EOFY finalisation." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:94 -msgid "1. Basic contractual information" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:567 +msgid "Even if you finalise an employee record partway through the financial year, the ATO will not pre-fill the information into the employee's tax return until after the end of the financial year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:96 -msgid "Select the :guilabel:`Contract Start Date` and :guilabel:`Working Schedule` (set, or flexible for casual workers)." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:571 +msgid "Adjustments" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:98 -msgid "Keep the :guilabel:`Salary Structure Type` set to :guilabel:`Australian Employee`. This structure covers all of the ATO's tax schedules." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:574 +msgid "Odoo is currently in the process of becoming compliant with STP Phase 2, and the adjustment flows described below do not yet submit data to the ATO." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:103 -msgid "(if using the Attendances or Planning app) Select the :guilabel:`Work Entry Source` to define how working hours and days are accounted for on the employee's payslip." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:578 +msgid "Amend finalisation" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:106 -msgid ":guilabel:`Working Schedule`: work entries are automatically generated based on the employee's working schedule, starting from the contract's start date." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:580 +msgid "If you need to amend YTD amounts for an employee after a finalisation declaration was made, it is still possible to remove the finalisation indicator for that employee. To do so, go to :menuselection:`Payroll --> Reporting --> STP Finalisation`, select the employee, and leave the :guilabel:`Finalisation` checkbox unticked." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:110 -msgid "An employee works 38 hours a week, their contract begins on 01/01, today's date is 16/01, and the user generates a pay run from 14/01 to 20/01. The working hours on the payslip will be automatically calculated to be 38 hours (5 * 7.36 hours) if no unpaid leave is taken." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Amending YTD amounts for an employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:114 -msgid ":guilabel:`Attendances`: the working schedule is ignored, and work entries are only generated after clocking in and out of the Attendances app. Note that attendances can be imported." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:588 +msgid "When ready, click :guilabel:`Submit to ATO` to file the finalisation update to the ATO." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:116 -msgid ":guilabel:`Planning`: the working schedule is ignored, and work entries are generated from planning shifts in the Planning app." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:590 +msgid "Once the correct YTD details are ready for that employee after amendment, finalise that employee again." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:120 -msgid "Timesheets do not impact work entries in Odoo. If you need to import your timesheets in Odoo, import them by going to :menuselection:`Payroll --> Work Entries --> Work Entries` instead." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:594 +msgid "The ATO expects employers to correct errors within 14 days of detection or, if your pay cycle is longer than 14 days (e.g., monthly), by the date you would be due to lodge the next regular pay event. Finalisation amendments can be done through STP up to five years after the end of the financial year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:124 -msgid "2. Salary Information tab" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:599 +msgid "Finalising and amending finalisation for a single employee can also be useful when rehiring an employee within the same financial year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:126 -msgid ":guilabel:`Wage Type`: select :guilabel:`Fixed Wage` for full-time and part-time employees, and :guilabel:`Hourly Wage` for casual workers. The latter allows you to add a :guilabel:`Casual Loading` percentage." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:603 +msgid "Full file replacements" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:131 -msgid "For hourly workers, the :guilabel:`Hourly Wage` field should exclude casual loading." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:605 +msgid "An employer can make full file replacements of pay runs to replace the last lodgement sent to the ATO if it turns out to contain significantly inaccurate data." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:133 -msgid ":guilabel:`Schedule Pay`: in Australia, only the following pay run frequencies are accepted: :guilabel:`Daily`, :guilabel:`Weekly`, :guilabel:`Bi-weekly` (or fortnightly), :guilabel:`Monthly`, and :guilabel:`Quarterly`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:608 +msgid "To do so, open the last STP submission and click :guilabel:`Replace File`. Then, select which payslips need to be reset by ticking the :guilabel:`Reset Payslip` checkbox." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:136 -msgid ":guilabel:`Wage` /*period*: assign a wage to the contract according to their pay frequency. On payslips, the corresponding annual and hourly rates will be computed automatically." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Replace file button." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:140 -msgid "3. Australia tab" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:614 +msgid "Resetting payslips does not create new payslips or a new pay run, but instead:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Australia tab of a contract." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:616 +msgid "The payslips batch is reset from :guilabel:`Paid` or :guilabel:`Done` to :guilabel:`Confirmed`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:145 -msgid ":guilabel:`General`" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:617 +msgid "The status of the reset payslips revert back to :guilabel:`Draft`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:147 -msgid "Add the :guilabel:`Regular Pay Day` if relevant." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:618 +msgid "The correct payslips remain paid and matched against the original payment." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:148 -msgid "Enable :guilabel:`Report in BAS - W3` if you choose to add PAYG withholding amounts in BAS section W3 instead of W2 (refer to the `ATO's web page on PAYG withholding `_ for more information)." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:619 +msgid "A new STP submission is created to replace the former one. For traceability purposes, the former STP submission is not deleted but marked as replaced." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:153 -msgid ":guilabel:`Leave loading / workplace giving`" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:622 +msgid "First, correct the reset payslips and create their draft entry. Once done, the :guilabel:`Submit to ATO` reappears on the payslip batch to process the full file replacement." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:155 -msgid "Define whether your employees are :guilabel:`Eligible for Leave Loading`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Resubmitting a payslip batch." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:156 -msgid "Set the :guilabel:`Workplace Giving Employee` amount in exchange for deductions." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:628 +msgid "When ready, submit the pay run to the ATO once again. Please note that full file replacements are only meant as a last resort to amend a substantial amount of erroneous data. When possible, the ATO recommends correcting an incorrect payslips by submitting a correction as part of the next pay run or via update event." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:157 -msgid "Set the :guilabel:`Salary Sacrificed Workplace Giving` amount (e.g., receiving a benefit instead of a deduction)." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:633 +msgid "Moreover, it is not possible to submit a second full file replacement of the same submission, and a full file replacement can only be done once every 24 hours." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:160 -msgid ":guilabel:`Super contributions`" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:637 +msgid "Zero out YTD values" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:162 -msgid "Add the :guilabel:`Extra Negotiated Super %` on top of the *super guarantee*." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:639 +msgid "In case of a mid-year change of several key identifiers, YTD values need to be zeroed out, and then re-posted with the updated key identifier." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:163 -msgid "Add the :guilabel:`Extra Compulsory Super %` as per industrial agreements or awards obligations." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:642 +msgid "For the following **company identifiers**, all employees need to be zeroed out:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:165 -msgid ":guilabel:`Salary sacrifice`" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:644 +msgid "ABN" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:167 -msgid ":guilabel:`Salary Sacrifice Superannuation` allows employees to sacrifice part of their salary in favor of reportable employer superannuation contributions (RESC)." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:645 +msgid "Branch Code" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:169 -msgid ":guilabel:`Salary Sacrifice Other Benefits` allows them to sacrifice part of their salary towards some other form of benefit (refer to the `ATO's web page on Salary sacrificing for employees `_ for more information)." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:646 +msgid "BMS ID" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:175 -msgid "As of Odoo 18, salary sacrificing for other benefits currently does not impact fringe benefits tax (FBT) reporting." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:648 +msgid "For the following **employee identifiers**, only individual employees can be zeroed out:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:181 -msgid "4. Salary attachments" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:650 +msgid "TFN" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:183 -msgid "If the employee is to receive additional recurring payments every pay run, whether indefinitely or for a set number of periods, click the :icon:`fa-book` :guilabel:`Salary Attachments` smart button on the contract. Choose a :guilabel:`Type` and a :guilabel:`Description`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:651 +msgid "Payroll ID" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:188 -msgid "Around 32 recurring salary attachment types exist for Australia. These are mostly related to allowances and child support. `Contact us `_ for more information as to whether allowances from your industry can be covered." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:653 +msgid "Before updating any key identifiers, create a new STP submission by going to :menuselection:`Payroll --> Reporting --> Single Touch Payroll` and:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:193 -msgid "5. Run the contract" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:656 +msgid "Change the :guilabel:`Submission Type` to :guilabel:`Update`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Example of a running contract." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:657 +msgid "Tick the :guilabel:`Zero Out YTD` checkbox." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:198 -msgid "Once all the information has been completed, change the contract stage from :guilabel:`New` to :guilabel:`Running`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:658 +msgid "Click :guilabel:`Add a line` to specify which employees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:202 -msgid "Prepare pay runs" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:659 +msgid "Click :guilabel:`Submit to ATO`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:205 -msgid "Regular" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:0 +msgid "Creating a new STP submission to zero out YTD values." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:207 -msgid "Pay runs are created by going to :menuselection:`Payroll --> Payslips --> Batches`. After clicking :guilabel:`New`, enter a :guilabel:`Batch Name`, select a :guilabel:`Period`, and click :guilabel:`Generate Payslips`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:664 +msgid "Once that is done, modify the key identifier(s) to amend." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Steps to generate payslips." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:666 +msgid "Finally, go back to :menuselection:`Payroll --> Reporting --> Single Touch Payroll` to create and submit a new :guilabel:`Update`, this time without ticking the :guilabel:`Zero Out YTD` checkbox. This will notify the ATO that the previously recorded YTD balances are to be adjusted to the new key identifiers." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:214 -msgid "Employees on a pay run can be filtered down by :guilabel:`Department` and :guilabel:`Job Position`. There is no limit to the amount of payslips that can be created in one batch. After clicking :guilabel:`Generate`, one payslip is created per employee in the :guilabel:`Waiting` stage, in which they can be reviewed and amended before validation." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:672 +msgid "Payroll links to other apps" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Generated payslips in the waiting stage." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:675 +msgid "Time Off" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:222 -msgid "On the payslip form view, there are two types of inputs:" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:677 +msgid "The :doc:`Time Off app <../../../hr/time_off>` is natively integrated with the Payroll app in Odoo. Different types of leaves will populate payslips based on the concept of *work entries*." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:224 -msgid ":guilabel:`Worked days` are computed based on the :ref:`work entry source set on the employee's contract `. :ref:`Work entries can be configured ` according to different types: attendance, overtime, Saturday rate, Sunday rate, public holiday rate, etc." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:680 +msgid "Go to :menuselection:`Time Off --> Configuration --> Time Off Types`, and for each type, configure the following two fields under the :guilabel:`Payroll` section:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:228 -msgid ":guilabel:`Other inputs` are individual payments or amounts of :ref:`different types ` (allowances, lump sums, deductions, termination payments, leaves, etc.) that have little to do with the hours worked during the current pay period. The :ref:`previously configured salary attachments ` are simply recurring other inputs attached to a contract." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:683 +msgid ":guilabel:`Work Entry Type`: defines which work entry should be selected on the :guilabel:`Worked Days` table of the payslip." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Worked days and other inputs of a payslip." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:685 +msgid ":guilabel:`Unused Leave Type`: choose between :guilabel:`Annual`, :guilabel:`Long Service`, or :guilabel:`Personal Leave`. If :guilabel:`Personal Leave` is selected, the remaining leave balance for this time off type will not show up as an entitlement at the time of termination. Unused leaves of the type :guilabel:`Annual` will include leave loading if the employee is eligible for it." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:237 -msgid "Under the :guilabel:`Salary Computation` tab, Odoo automatically computes payslip rules based on employees, contracts, worked hours, other input types, and salary attachments." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Configuring time off types." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:240 -msgid "The salary structure *Australian Employee* has 35 payslip rules that automatically compute and dynamically display according to the payslip inputs." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:695 +msgid "Expenses" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:0 -msgid "Salary computation tab of a payslip" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:697 +msgid "The :doc:`Expenses app <../../../finance/expenses>` is also natively integrated with the **Payroll** app in Odoo. First of all, go to :menuselection:`Expenses --> Configuration --> Settings` and enable :guilabel:`Reimburse in Payslip`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:248 -msgid "The following rules apply for that pay period in the above example:" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:701 +msgid "When an employee on your payroll submits an approved expense to be reimbursed, you can reimburse them using two ways:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:250 -msgid ":guilabel:`Basic Salary`: pre-sacrifice gross salary" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:704 +msgid "If the expense is to be reimbursed outside of a pay run, click :guilabel:`Post Journal Entries`. The payment must be made manually." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:251 -msgid ":guilabel:`Ordinary Time Earnings`: amount to which the super guarantee percentage needs to be applied" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:706 +msgid "If the expense is to be reimbursed as part of the next pay run, click :guilabel:`Report in Next Payslip` instead." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:253 -msgid ":guilabel:`Salary Sacrifice Total`: includes the $150 sacrificed to superannuation" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Two ways of reimbursing an expense." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:254 -msgid ":guilabel:`Taxable Allowance Payments`: includes the $10 allowance (*cents per KM* in this case)" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:712 +msgid "After an expense has been added to the next payslip, you can find it in the :guilabel:`Other Inputs` table. This input type is then computed as an addition to the net salary." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:256 -msgid ":guilabel:`Taxable Salary`: gross salary amount minus non-taxable amounts" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "The expense reimbursement on a payslip." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:257 -msgid ":guilabel:`Salary Withholding` and :guilabel:`Total Withholding`: amounts to be withheld from the taxable salary" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:718 +msgid "After paying the employee, the payslip's journal item related to the employee's reimbursement is automatically matched against the expense's vendor bill." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:259 -msgid ":guilabel:`Net Salary`: the employee's net wage" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "The payslip's journal item related to the employee's expense reimbursement." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:260 -msgid ":guilabel:`Concessional Super Contribution`: in this scenario, the amount sacrificed to superannuation, payable to the employee's super fund in addition to the super guarantee" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:725 +msgid "Advanced configurations" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:262 -msgid ":guilabel:`Super Guarantee`: as of 01 July 2024, it is computed as 11.5% of the ordinary time earnings amount" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:730 +#: ../../content/applications/hr/payroll/salaries.rst:275 +msgid "Other input types" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:266 -msgid "As of Odoo 18, the most recent tax schedule rates (2024-2025) have been updated for all salary rules and computations." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:732 +msgid "You can access other input types by going to :menuselection:`Payroll --> Configuration --> Other Input Types`. There are 63 other input types related to Australia. We do not recommend using the other ones as part of your payroll solution, since they cannot be used in the frame of STP. You can archive or delete them." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:270 -msgid "Out-of-cycle" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:737 +msgid "On each input type, the following fields are important:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:272 -msgid "In Australia, payslips created without a batch are considered to be *out-of-cycle* runs. Create them by going to :menuselection:`Payroll --> Payslips --> Individual Payslips`. The same payslip rules apply, but the way these payslips are submitted to the ATO in the frame of Single Touch Payroll (STP) is slightly different." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:739 +msgid ":guilabel:`Payment Type` classifies input types in six categories:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:278 -msgid "As of Odoo 18, adding an out-of-cycle payslip to an existing batch is **not** recommended." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:741 +msgid ":guilabel:`Allowance`: a separate amount you pay to your employees in addition to salary and wages. Some of these allowances are mandated by modern awards: laundry, transport, etc." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:281 -msgid "Finalise pay runs" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:745 +msgid "`Contact us `_ if you plan to use allowances subject to varied rates of withholding (such as *cents per KM* or *travel allowances*) to see whether Odoo currently covers your business case." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:284 -msgid "Validate payslips" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:750 +msgid "As of Odoo 18, some allowances such as :guilabel:`Laundry: Allowance for approved uniforms` are managed by two other inputs: one to lodge the amount paid up to the ATO limit, and the other one to lodge the amount exceeding the ATO limit. This is necessary for Odoo to compute PAYGW correctly." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:286 -msgid "Once all payslip data is deemed correct, click :guilabel:`Create Draft Entry` on the payslip batch. This can also be done payslip by payslip for control reasons." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:754 +msgid "Some businesses may require to shift the reporting of an allowance from :guilabel:`OTE` to :guilabel:`Salary & Wages` depending on the employee. In this case, you must duplicate and re-configure an existing other input type. For example, :guilabel:`Work-Related Non-Expense` allowance is :guilabel:`OTE` by default." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:289 -msgid "This has several impacts:" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:759 +msgid ":guilabel:`Deduction`: union fees and child support deductions are considered deductions." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:291 -msgid "Marking the batch and its payslips as :guilabel:`Done`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:760 +msgid ":guilabel:`ETP`: employment termination payments. These are either considered excluded or non-excluded (see `ATO's web page on ETP components taxation `_)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:292 -msgid "Creating a draft accounting entry per payslip or one entry for the whole batch, depending on your payroll settings. At this stage, accountants can post entries to affect the balance sheet, P&L report, and BAS report." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:762 +msgid ":guilabel:`Leave`: leave-related other inputs that are not pertaining to a single pay period (lump sum, cashing out leaves while in service, unused leaves, etc.)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:295 -msgid "Preparing the STP submission (or payroll data to be filed to the ATO as part of STP compliance). This needs to be performed by the :guilabel:`STP Responsible` user, defined under :menuselection:`Payroll --> Configuration --> Settings`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:764 +msgid ":guilabel:`Lump Sum`: return to work and lump sum E (for back payments) fall under this category." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:298 -msgid "Preparing super contribution lines as part of SuperStream compliance. This needs to be done by the :guilabel:`HR Super Send` user selected under :menuselection:`Payroll --> Configuration --> Settings`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:766 +msgid ":guilabel:`Other`: other payments with their own specific logic." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Example of a draft payslip." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:768 +msgid ":guilabel:`PAYGW Treatment` affects how Odoo withholds tax for this input type: :guilabel:`Regular`, :guilabel:`No PAYG Withholding`, and :guilabel:`Excess Only` (for allowances)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:306 -msgid "Submit payroll data to the ATO" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:771 +msgid ":guilabel:`Superannuation Treatment`: :guilabel:`OTE`, :guilabel:`Salary & Wages`, and :guilabel:`Not Salary & Wages`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:309 -msgid "Odoo is currently in the process of becoming compliant with STP Phase 2, and this step described above does not submit data yet to the ATO." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:773 +msgid ":guilabel:`STP Code`: only visible in :ref:`developer mode `, this field tells Odoo how to report the gross value of this payment to the ATO. We do not recommend changing the value of this field if it was already set by default." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:312 -msgid "As per ATO requirements, STP submission for a pay run needs to be done on or before the payday. For this reason, submit your STP data to the ATO first before proceeding with payment. To do so, click :guilabel:`Submit to ATO` on the payslip batch." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:777 +msgid "Grouping other input types by :guilabel:`Payment Type` can help you understand the different scenarios in which these inputs can be used." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:316 -msgid "On the STP record for this pay run, a few useful information is displayed:" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Other input types grouped by payment type." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:318 -msgid "a warning message if important information is missing," +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:786 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2776 +#: ../../content/applications/hr/payroll/work_entries.rst:219 +msgid "Work entry types" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:319 -msgid "an automatically generated activity for the STP responsible user, and" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:788 +msgid "A *work entry type* is a type of attendance for employees (e.g., attendance, paid leave, overtime, etc.). A few work entry types are created by default in every Australian database." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:320 -msgid "a summary of payslips contained in this pay run, auditable from this view." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Default work entry types for the Australian localization." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Example of an STP record." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:794 +msgid "Before using Odoo's payroll solution for Australia, it is recommended you trim work entry types to keep the ones you need only by going to :menuselection:`Payroll --> Configuration --> Work Entry Types`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:325 -msgid "Once the STP record is ready to go, click :guilabel:`Submit to ATO`, then read and accept the related terms and conditions." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:798 +msgid "For each type, make sure to configure the following fields for Australia:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:329 -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:219 -#: ../../content/applications/hr/payroll/payroll_localizations/united_arab_emirates.rst:333 -msgid "Pay employees" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:800 +msgid ":guilabel:`Is OTE`: determines whether time spent in this category can be considered ordinary time earnings, meaning that the superannuation guarantee rate will apply (e.g., regular attendance, paid leave, etc.)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:331 -msgid "Once the ATO submission is complete, you can proceed to pay your employees. To facilitate the payment matching process, remember to post the payslip-related journal entries prior to validating a payment." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:803 +msgid ":guilabel:`Penalty Rate`: used to determine the percentage of penalty that applies to time spent in this category. It is important that you configure the penalty rate that applies in your state or industry according to the type of work (e.g., Saturday rate, Sunday rate, overtime rate, etc.)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:335 -msgid "Although you may decide to pay your employees individually, we recommend creating a batch payment from your payslip batch. To do so, click :guilabel:`Pay` on the payslip batch, and select :guilabel:`ABA Credit Transfer` as the :guilabel:`Payment Method`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:806 +msgid ":guilabel:`STP Code`: only visible in :ref:`developer mode `, this field tells Odoo how to report the time spent in this category to the ATO. We do not recommend changing the value of this field if it was already set by default." msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Selecting the payment method for a payslip batch." +msgid "Configuring a work entry type." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:342 -msgid "This has two impacts:" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:814 +msgid "Current limitations" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:344 -msgid "Marking the batch and its payslips as :guilabel:`Paid`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:816 +msgid "As of Odoo 18, we do not recommend companies to use the Payroll app for the following business flows:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:345 -msgid "Creating a :guilabel:`Payment Batch` linked to the payslip batch." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:819 +msgid "Income stream types: Foreign Employment Income" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Example of a paid batch of payslips." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:820 +msgid "Tax treatment category: actors & performers" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:350 -msgid "When receiving the bank statement in Odoo, you can now match the statement line with the batch payment in one click. The payment is not reconciled against the payslip batch, and all individual payslips." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:821 +msgid "Death benefits reporting" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Steps to reconcile a bank statement with a batch payment." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:822 +msgid "Reporting obligations for WPN (instead of ABN)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:358 -msgid "Impact on accounting" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:823 +msgid "Allowances subject to a varied rate of withholding (such as *cents per kilometer* allowance and *travel allowances*)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:360 -msgid "Depending on the employee and contract configuration, the journal entry linked to a payslip will be more or less exhaustive." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:826 +msgid "`Contact us `_ if you would like to make sure whether Odoo fits your payroll requirements in Australia." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:364 -msgid "For instance, here is the journal entry generated by the employee Marcus Cook configured above." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:832 +msgid "Employment Hero integration" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:0 -msgid "Example of a journal entry for a payslip" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:834 +msgid "If your business is already up and running with Employment Hero, you can use the connector as an alternative payroll solution. The Employment Hero module synchronizes payslip accounting entries (e.g., expenses, social charges, liabilities, taxes) automatically from Employment Hero to Odoo. Payroll administration is still done in Employment Hero; Odoo only records the journal entries." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:369 -msgid "Once posted, predefined accounts will impact the company's balance sheet (PAYGW, wages, and superannuation liabilities) and profit & loss report (wages and superannuation expenses). In addition, the employee's gross wage and PAYG withholding will update the BAS report for the relevant period (see Tax Grid: W1 and W2). Accounts can be adjusted to the company's chart of accounts." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:842 +msgid ":ref:`Install ` the Employment Hero Payroll module (`l10n_employment_hero`)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Example of a BAS report PAYG tax witheld section." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:843 +msgid "Configure the Employment Hero API by going to :menuselection:`Accounting --> Configuration --> Settings`. More fields become visible after ticking the :guilabel:`Enable Employment Hero Integration` checkbox." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:378 -msgid "Other payroll flows" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:0 +msgid "Enabling the Employment Hero integration." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:381 -msgid "Paying super contributions" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:850 +msgid "Find the :guilabel:`API Key` in the :guilabel:`My Account` section of the Employment Hero platform." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:384 -msgid "Odoo has a partnership with a clearing house to process both superannuation payments and data to the right funds in one click, via direct debit. Odoo is currently in the process of becoming compliant with SuperStream, and an announcement will be made as soon as superannuation contributions can be processed via Odoo's payroll solution." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:0 +msgid "Finding the Employment Hero API key under the My Account section." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:389 -msgid "Once a quarter (or more frequently, in preparation for `Payday Super `_), you have to process superannuation payments to your employees' super funds. To do so, go to :menuselection:`Payroll --> Reporting --> Super Contributions`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:856 +msgid "The :guilabel:`Payroll URL` is pre-filled with `https://keypay.yourpayroll.com.au`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Example of a super file." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:859 +msgid "Do not change the pre-filled :guilabel:`Payroll URL`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:397 -msgid "When ready to pay, add the :guilabel:`Bank Journal` that will be used to pay the super from, then click :guilabel:`Lock` to prevent the contributions from subsequent payslips from being added to that file. Instead, a new Super file will be created." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:861 +msgid "Find the :guilabel:`Business Id` in the Employment Hero URL (e.g., `189241`)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:401 -msgid "Once the payment has been processed, it can be traced back to the Super file and matched with a bank statement." -msgstr "" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:0 +msgid "Finding the Employment Hero Business ID in the URL." +msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Example of a super file payment." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:866 +msgid "Select any Odoo journal as the :guilabel:`Payroll Journal` to post the payslip entries." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:408 -msgid "Terminating employees" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:868 +msgid "Configure the tax by going to :menuselection:`Accounting --> Configuration --> Taxes`. Create the necessary taxes for the Employment Hero payslip entries. Fill in the tax code from Employment Hero in the :menuselection:`Matching Employment Hero Tax` field." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:410 -msgid "Employees can be terminated by going to :menuselection:`Payroll --> Reporting --> Terminate Employee`." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:873 +msgid "The API explained" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:413 -msgid "The following fields must be completed:" +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:875 +#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:56 +msgid "The API syncs the journal entries from Employment Hero to Odoo and leaves them in draft mode. The reference includes the Employment Hero payslip entry ID in brackets for the user to easily retrieve the same record in Employment Hero and Odoo." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:415 -msgid ":guilabel:`Contract End Date`: once the termination is validated, this date will be added to the contract automatically, and mark the contract as :guilabel:`Expired` when the date has been reached." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 +msgid "Employment Hero journal entries in Odoo." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:418 -msgid ":guilabel:`Cessation Type Code`: a mandatory field for the ATO's STP reporting." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:882 +msgid "By default, the synchronization happens once per week. It is possible to fetch the records manually by going to :menuselection:`Accounting --> Configuration --> Settings` and, in the :guilabel:`Employment Hero`, clicking :guilabel:`Fetch Payruns Manually`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:419 -msgid ":guilabel:`Termination Type`: the type of redundancy (genuine or non-genuine) affects the computation of unused annual and long service leave withholding." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:886 +msgid "Employment Hero payslip entries also work based on double-entry bookkeeping. The accounts used by Employment Hero are defined in the Payroll settings section." msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Terminating the contract of an employee." +msgid "Finding the Employment Hero accounts." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:425 -msgid "The balance of unused annual leaves and long service leaves is displayed for reference." +#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:892 +msgid "For the API to work, you must create the same accounts as the default accounts of your Employment Hero business (same name and same code) in Odoo. You also need to choose the correct account types in Odoo to generate accurate financial reports." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:427 -msgid "Confirming the termination creates an out-of-cycle payslip with the tag :guilabel:`final pay`. It computes the worked days until the contract end date, in addition to the employee's unused annual and long service leave entitlements." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3 +msgid "Belgium" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Example of an out-of-cycle payslip of a terminated employee." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:8 +msgid "Understanding the Belgian payslip" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:434 -msgid "Odoo automatically computes unused leave entitlements based on the employee's current hourly rate leave loading (for annual leaves only), and the remaining leave balance. However, these amounts can be manually edited in the :guilabel:`Other Inputs` table if necessary." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:13 +msgid "Providing employees with a clear, transparent payslip is essential for compliance and employee satisfaction. This guide explains how to interpret a Belgian payslip, detailing key components that impact salary calculations and deductions." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:438 -msgid "Employment Termination Payments (ETP) can also be added to the :guilabel:`Other Inputs` table. Odoo has a comprehensive list of excluded and non-excluded ETPs for companies to select from." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:20 +msgid "The first section of the payslip contains the employee's general details. It is crucial to verify the accuracy of the civil status and the number of dependents, as these factors influence tax calculations. Employers can ensure updates are made through their internal salary configurator or employee profile management systems." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Adding employment termination payments." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "How to read a payslip - General Information." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:445 -msgid "Withholding for unused leaves and ETPs is computed according to the ATO's `Schedule 7 `_ and `Schedule 11 `_ and updated as of 01 July 2024." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:29 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2766 +#: ../../content/applications/hr/payroll/work_entries.rst:3 +msgid "Work entries" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:451 -msgid "Once an employee has been terminated and the last detailed of their employment resolved, you can archive the employee by clicking the :icon:`fa-cog` (:guilabel:`Actions`) icon, then :icon:`oi-archive` :guilabel:`Archive` on the employee's form view." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:31 +msgid "This section outlines time-off applications and their impact on salary. The base salary typically remains constant unless unpaid leave is taken. If an employee has taken unpaid leave, parental leave, or any unexpected absence, their salary will reflect the corresponding deductions." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:456 -msgid "Switching from another STP software to Odoo" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "How to read a payslip - Work Entries." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:458 -msgid "When switching from another STP-enabled software to Odoo, you might need to maintain the continuity in the YTD values of your employees. Odoo allows importing employees' YTD values by going to :menuselection:`Payroll --> Configuration --> Settings` and clicking :guilabel:`Import YTD Balances`." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:39 +msgid "Payroll calculation" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Import YTD balances button." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:41 +msgid "The core of the payslip details various salary components, deductions, and benefits. Below are the primary elements:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:466 -msgid "For the ATO to recognize the employee records of your previous software and keep a continuity in Odoo, you must enter the:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:44 +msgid "**Benefits in Kind**: If applicable, benefits in kind (such as a mobile or internet subscription or a laptop) are subject to taxation and impact net remuneration." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:469 -msgid ":guilabel:`Previous BMS ID` (one per database)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:47 +msgid "When a company car is provided for personal use, a taxable benefit (ATN) is added to the employee's salary. This is determined by:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:470 -msgid ":guilabel:`Previous Payroll ID` (one per employee)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:50 +msgid "The catalog value and age of the vehicle" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:472 -msgid "Ask your previous software provider if you cannot find its BMS ID or your employees' payroll IDs." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:51 +msgid "The vehicle's CO2 emissions" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Importing YTD balances." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:53 +msgid "This benefit is subject to withholding tax and will be adjusted later in the payroll process." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:477 -msgid "This will give you the opportunity to add your employees' YTD opening balances in the current fiscal year. The ATO reports on a lot of different types of YTD. These are represented by the 13 following :guilabel:`Salary Rules` in Odoo." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:54 +msgid "**Social Security contributions**: A mandatory 13.07% deduction from gross salary is allocated to the National Social Security Office (ONSS). This includes:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Salary rules for an employee." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:57 +msgid "Pensions: 7.5%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:485 -msgid "Let us say that the employee Marcus Cook has been transitioned from another STP-enabled software on September 1. Marcus has received two monthly payslips in his previous software (for July and August). Here are the YTD balances Marcus's company needs to transfer to Odoo:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:58 +msgid "Health Insurance for Care: 3.55%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:492 -msgid "YTD category" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:59 +msgid "Health Insurance for Benefits: 1.15%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:493 -msgid "YTD balance to transfer" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:60 +msgid "Unemployment: 0.87%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:494 -msgid "Gross (normal attendance)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:62 +msgid "Additionally, the employer contributes on average 25% of the employer's contributions to the National Social Security Office." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:495 -msgid "$13,045.45" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:64 +msgid "**Employment bonus**: A reduction in employee contributions based on gross salary, which is phased out if the salary exceeds a specific threshold." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:496 -msgid "Gross (overtime)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:68 +msgid "`More info on job bonuses `_" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:497 -msgid "$1,000" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:70 +msgid "**Withholding taxes**: Withholding tax rates are revised annually by the `SPF Finances `_." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:498 -msgid "Paid leave" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:73 +msgid "The tax amount is influenced by:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:499 -msgid "$954.55" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:75 +msgid "Gross salary" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:500 -msgid "Laundry allowance" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:76 +msgid "Marital status (married, legally cohabiting, or single)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:501 -msgid "$200" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:77 +msgid "Household composition (children or other dependents)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:502 -msgid "Total withholding" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:79 +msgid "This serves as an advance payment on professional income tax." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:503 -msgid "$2,956" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:80 +msgid "**Reduction in withholding tax**: A reduction based on gross salary, which is ignored if salary surpasses a specific amount." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:504 -msgid "Super Guarantee" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:82 +msgid "**Special Social Security contribution**: A household income-based tax applicable to all employees covered by social security." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:505 -msgid "$1,610" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:84 +msgid "**Meal voucher deduction**: Employees receive meal vouchers valued for instance at €8 per workday, where:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:507 -msgid "If some YTD balances need to be reported with more granularity to the ATO, you can use the salary rule's inputs." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:87 +msgid "The employer contributes €6.91" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:511 -msgid "For instance, the *Basic Salary* rule can contain six inputs, and three are necessary in our example: regular gross amounts, overtime, and paid leaves. These are all reported differently in terms of YTD amounts." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:88 +msgid "The employee contributes €1.09" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:0 -msgid "Adding YTD inputs" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:91 +msgid "5 worked days -> deduction of €5.45 (:math:`5\\times\\text{€}1.09`)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:518 -msgid "The finalized YTD opening balances for Marcus Cook look like the following." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:92 +msgid "22 worked days -> deduction of €23.98 (:math:`22\\times\\text{€}1.09`)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:0 -msgid "Example of finalized YTD opening balances" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:94 +msgid "Variations in this deduction impact monthly net salary." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:523 -msgid "As a result, YTD computations on payslips are based on the employee's opening balances instead of starting from zero." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:95 +msgid "**Representation fees**: An optional net salary component, allocated in two parts:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:527 -msgid "STP finalisation" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:97 +msgid "A fixed portion, independent of working hours" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:530 -msgid "Odoo is currently in the process of becoming compliant with STP Phase 2, and the finalisation flows described below do not yet submit data to the ATO." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:98 +msgid "A prorated portion, adjusted for part-time schedules" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:534 -msgid "EOFY finalisation" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:99 +msgid "**Net salary**: The final amount deposited into the employee's bank account after deductions." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:536 -msgid "Employers reporting through STP must make a finalization declaration by 14 July each year. To do so, go to :menuselection:`Payroll --> Reporting --> STP Finalisation`." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:104 +msgid "December pay" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "EOFY finalisation of an employee." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:107 +msgid "Why a December settlement?" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:542 -msgid "Both active and terminated employees to finalise are displayed." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:109 +msgid "An employer must pay a vacation allowance to an employee in December under two conditions:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "List of employees to finalise." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:111 +msgid "If the employee has reduced their working hours during the vacation year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:547 -msgid "From the finalisation form view, you can proceed with a final audit of all employees' payslips during the relevant financial year. Once ready, click :guilabel:`Submit to ATO`. When you have made the finalisation declaration, employees will see the status of their payment information change to :guilabel:`Tax ready` on their online income statement after the end of the financial year." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:112 +msgid "If the employee is unable to take all their vacation days before the end of the year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:553 -msgid "Individual finalisation" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:114 +msgid "In principle, employers must ensure that employees take their annual vacation before December 31. However, certain circumstances may prevent employees from using all their vacation days. In these cases, the employer must pay the simple vacation allowance for unused days before the end of the year. Additionally, if the employee has not received the double vacation allowance earlier in the year (typically in May or June), they are entitled to receive it." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:555 -msgid "Odoo also allows you to finalise employees individually during the year. This can be useful when:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:121 +msgid "Reduction of working hours" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:557 -msgid "one-off payments are made after a first finalisation; and" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:123 +msgid "When an employee reduces their average working hours with the same employer, the employer must pay the vacation allowance in December of the year in which the reduction occurs, as if the employee had left the company." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:558 -msgid "finalisation after termination of employment during the year." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:127 +msgid "**Possible scenarios**:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:560 -msgid "To proceed with an individual finalisation, go to :menuselection:`Payroll --> Reporting --> STP Finalisation`, leave the :guilabel:`EOFY Declaration` checkbox unticked, and manually add employees to be finalised." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:129 +msgid "Transition to part-time work." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Individual EOFY finalisation." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:130 +msgid "Partial career break." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:567 -msgid "Even if you finalise an employee record partway through the financial year, the ATO will not pre-fill the information into the employee's tax return until after the end of the financial year." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:131 +msgid "Thematic leave on a part-time basis." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:571 -msgid "Adjustments" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:132 +msgid "Partial return to work after a full incapacity period." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:574 -msgid "Odoo is currently in the process of becoming compliant with STP Phase 2, and the adjustment flows described below do not yet submit data to the ATO." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:134 +msgid "The settlement is calculated based on the previous vacation year's earnings and includes:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:578 -msgid "Amend finalisation" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:136 +msgid "**Simple vacation allowance**: 7.67% of the yearly gross salary from the previous year, including any fictitious salary for assimilated interruption days, minus the simple vacation allowance already paid during the vacation year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:580 -msgid "If you need to amend YTD amounts for an employee after a finalisation declaration was made, it is still possible to remove the finalisation indicator for that employee. To do so, go to :menuselection:`Payroll --> Reporting --> STP Finalisation`, select the employee, and leave the :guilabel:`Finalisation` checkbox unticked." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:139 +msgid "**Double vacation allowance**: 7.67% of the yearly gross salary from the previous year, including any fictitious salary for assimilated interruption days, minus the double vacation allowance already paid during the vacation year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Amending YTD amounts for an employee." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:143 +msgid "If all vacation days have been taken before the reduction in working hours, no additional calculation is required." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:588 -msgid "When ready, click :guilabel:`Submit to ATO` to file the finalisation update to the ATO." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:147 +msgid "Inability to use vacation days" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:590 -msgid "Once the correct YTD details are ready for that employee after amendment, finalise that employee again." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:149 +msgid "As a general rule, all vacation days must be used within the vacation year. However, if an employee is unable to take all their vacation due to force majeure or specific suspension reasons, the employer must pay the following by December 31:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:594 -msgid "The ATO expects employers to correct errors within 14 days of detection or, if your pay cycle is longer than 14 days (e.g., monthly), by the date you would be due to lodge the next regular pay event. Finalisation amendments can be done through STP up to five years after the end of the financial year." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:153 +msgid "**Simple vacation allowance** for unused days, based on the December salary." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:599 -msgid "Finalising and amending finalisation for a single employee can also be useful when rehiring an employee within the same financial year." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:154 +msgid "**Double vacation allowance** if it has not yet been paid, based on the December salary." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:603 -msgid "Full file replacements" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:156 +msgid "**Eligible reasons include**:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:605 -msgid "An employer can make full file replacements of pay runs to replace the last lodgement sent to the ATO if it turns out to contain significantly inaccurate data." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:158 +msgid "Common illness or accident." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:608 -msgid "To do so, open the last STP submission and click :guilabel:`Replace File`. Then, select which payslips need to be reset by ticking the :guilabel:`Reset Payslip` checkbox." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:159 +msgid "Work accident or occupational disease." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Replace file button." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:160 +msgid "Maternity leave, paternity leave (converted maternity leave), prophylactic leave." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:614 -msgid "Resetting payslips does not create new payslips or a new pay run, but instead:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:161 +msgid "Birth, adoption, or reception leave." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:616 -msgid "The payslips batch is reset from :guilabel:`Paid` or :guilabel:`Done` to :guilabel:`Confirmed`." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:162 +msgid "Parental leave or protective maternity leave measures." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:617 -msgid "The status of the reset payslips revert back to :guilabel:`Draft`." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:165 +msgid "New rule (effective end of 2024)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:618 -msgid "The correct payslips remain paid and matched against the original payment." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:167 +msgid "Employees unable to take vacation due to the above reasons (except force majeure or protective maternity leave measures) can carry over unused days for up to 24 months. Since the vacation allowance is already paid in December of the vacation year, no additional payment will be made when the carried-over days are used." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:619 -msgid "A new STP submission is created to replace the former one. For traceability purposes, the former STP submission is not deleted but marked as replaced." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:173 +msgid "Employer payment responsibilities" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:622 -msgid "First, correct the reset payslips and create their draft entry. Once done, the :guilabel:`Submit to ATO` reappears on the payslip batch to process the full file replacement." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:175 +msgid "The employer must pay any outstanding simple vacation allowance based on 7.67% of the gross salary from the previous year. However, an exit vacation allowance based on the current year's gross salary is not due." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Resubmitting a payslip batch." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:179 +msgid "If an employee reduces their working hours and continues in the same role the following year, an additional vacation allowance calculation may be required in December." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:628 -msgid "When ready, submit the pay run to the ATO once again. Please note that full file replacements are only meant as a last resort to amend a substantial amount of erroneous data. When possible, the ATO recommends correcting an incorrect payslips by submitting a correction as part of the next pay run or via update event." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:183 +msgid "Example calculation" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:633 -msgid "Moreover, it is not possible to submit a second full file replacement of the same submission, and a full file replacement can only be done once every 24 hours." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:185 +msgid "In 2013, an employee works full-time (5 days per week)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:637 -msgid "Zero out YTD values" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:186 +msgid "In 2014, the employee works full-time until June 30, then switches to part-time (5 half-days per week)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:639 -msgid "In case of a mid-year change of several key identifiers, YTD values need to be zeroed out, and then re-posted with the updated key identifier." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:188 +msgid "The employee takes vacation in August 2014 under the new part-time regime (20 half-days over 4 weeks)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:642 -msgid "For the following **company identifiers**, all employees need to be zeroed out:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:190 +msgid "They receive a simple vacation allowance for 20 half-days and a double vacation allowance equivalent to 92% of their monthly salary." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:644 -msgid "ABN" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:192 +msgid "In December 2014, the employee receives additional simple (7.67%) and double (7.67%) vacation allowances based on 2013's gross salary, minus previously paid amounts." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:645 -msgid "Branch Code" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:194 +msgid "In 2015, if the employee continues part-time, they receive vacation based on part-time hours plus 5 full-time vacation days from the 2014 vacation year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:646 -msgid "BMS ID" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:196 +msgid "A second settlement in December 2015 includes additional simple (7.67%) and double (7.67%) vacation allowances based on the 2014 gross salary, minus previously paid amounts." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:648 -msgid "For the following **employee identifiers**, only individual employees can be zeroed out:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:200 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1650 +msgid "How to do it in Odoo" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:650 -msgid "TFN" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:202 +msgid "On a classic :doc:`payslip <../payslips>` issued in December, press the :guilabel:`Compute December Holiday Pay` button to open a configuration wizard." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:651 -msgid "Payroll ID" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:205 +msgid "Based on the allocated and requested time off, the :guilabel:`Simple Holiday Pay N-1` and :guilabel:`Double Holiday Pay N-1` for the December payslip are computed (and editable for manual encoding). Click :guilabel:`Validate` to confirm." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:653 -msgid "Before updating any key identifiers, create a new STP submission by going to :menuselection:`Payroll --> Reporting --> Single Touch Payroll` and:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "December Pay Amount." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:656 -msgid "Change the :guilabel:`Submission Type` to :guilabel:`Update`." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:212 +msgid "After validation, two additional inputs are stored on the payslip, and the payslip is re-computed to take those new remunerations into account." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:657 -msgid "Tick the :guilabel:`Zero Out YTD` checkbox." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:215 +msgid "The simple holiday pay is included into the gross remuneration." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:658 -msgid "Click :guilabel:`Add a line` to specify which employees." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "December Pay Simple." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:659 -msgid "Click :guilabel:`Submit to ATO`." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:220 +msgid "The double holiday pay is computed separately and included into the net amount." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:0 -msgid "Creating a new STP submission to zero out YTD values." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "December Pay Double." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:664 -msgid "Once that is done, modify the key identifier(s) to amend." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:228 +msgid "Departure: holiday attests" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:666 -msgid "Finally, go back to :menuselection:`Payroll --> Reporting --> Single Touch Payroll` to create and submit a new :guilabel:`Update`, this time without ticking the :guilabel:`Zero Out YTD` checkbox. This will notify the ATO that the previously recorded YTD balances are to be adjusted to the new key identifiers." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:233 +msgid "In Belgium, when an employee leaves a company, the employer is required to provide vacation attestations. These documents help the new employer determine the employee's vacation entitlements and any vacation pay due. Odoo facilitates the automatic generation of these attestations based on payroll and time-off data." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:672 -msgid "Payroll links to other apps" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:239 +msgid "Types of attestations" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:675 -msgid "Time Off" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:241 +msgid "Odoo generates two types of vacation attestations:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:677 -msgid "The :doc:`Time Off app <../../../hr/time_off>` is natively integrated with the Payroll app in Odoo. Different types of leaves will populate payslips based on the concept of *work entries*." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:243 +msgid "**For the previous year (N-1)**: If the employee has not yet taken all the vacation days from the previous year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:680 -msgid "Go to :menuselection:`Time Off --> Configuration --> Time Off Types`, and for each type, configure the following two fields under the :guilabel:`Payroll` section:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:245 +msgid "**For the current year (N)**: Covering the vacation rights accrued in the year of departure." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:683 -msgid ":guilabel:`Work Entry Type`: defines which work entry should be selected on the :guilabel:`Worked Days` table of the payslip." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:247 +msgid "Each attestation includes details such as:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:685 -msgid ":guilabel:`Unused Leave Type`: choose between :guilabel:`Annual`, :guilabel:`Long Service`, or :guilabel:`Personal Leave`. If :guilabel:`Personal Leave` is selected, the remaining leave balance for this time off type will not show up as an entitlement at the time of termination. Unused leaves of the type :guilabel:`Annual` will include leave loading if the employee is eligible for it." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:249 +msgid "The period the employee was employed." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Configuring time off types." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:250 +msgid "Agreed working time and any modifications." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:695 -msgid "Expenses" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:251 +msgid "Gross amounts of single and double vacation pay paid." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:697 -msgid "The :doc:`Expenses app <../../../finance/expenses>` is also natively integrated with the **Payroll** app in Odoo. First of all, go to :menuselection:`Expenses --> Configuration --> Settings` and enable :guilabel:`Reimburse in Payslip`." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:252 +msgid "Social security contributions paid by the employer." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:701 -msgid "When an employee on your payroll submits an approved expense to be reimbursed, you can reimburse them using two ways:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:253 +msgid "Number of vacation days already taken." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:704 -msgid "If the expense is to be reimbursed outside of a pay run, click :guilabel:`Post Journal Entries`. The payment must be made manually." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:254 +msgid "Additional (European) vacation pay and days." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:706 -msgid "If the expense is to be reimbursed as part of the next pay run, click :guilabel:`Report in Next Payslip` instead." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:257 +msgid "Calculation logic in Odoo" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Two ways of reimbursing an expense." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:259 +msgid "Odoo computes the attestations based on payroll and leave data. The main calculations include:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:712 -msgid "After an expense has been added to the next payslip, you can find it in the :guilabel:`Other Inputs` table. This input type is then computed as an addition to the net salary." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:261 +msgid "**Retrieving payroll and leave records**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "The expense reimbursement on a payslip." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:263 +msgid "The system identifies the employee's payroll records for the current and previous years." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:718 -msgid "After paying the employee, the payslip's journal item related to the employee's reimbursement is automatically matched against the expense's vendor bill." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:264 +msgid "It retrieves validated leave requests and allocations." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "The payslip's journal item related to the employee's expense reimbursement." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:266 +msgid "**Computing gross remuneration**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:725 -msgid "Advanced configurations" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:268 +msgid "The gross annual salary for both the current and previous years is computed from payroll records." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:732 -msgid "You can access other input types by going to :menuselection:`Payroll --> Configuration --> Other Input Types`. There are 63 other input types related to Australia. We do not recommend using the other ones as part of your payroll solution, since they cannot be used in the frame of STP. You can archive or delete them." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:270 +msgid "The average monthly salary is calculated for unpaid leave adjustments." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:737 -msgid "On each input type, the following fields are important:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:272 +msgid "**Time-off calculations**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:739 -msgid ":guilabel:`Payment Type` classifies input types in six categories:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:274 +msgid "The number of vacation days taken and allocated in the current year is determined." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:741 -msgid ":guilabel:`Allowance`: a separate amount you pay to your employees in addition to salary and wages. Some of these allowances are mandated by modern awards: laundry, transport, etc." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:275 +msgid "Unpaid leave days are accounted for separately." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:745 -msgid "`Contact us `_ if you plan to use allowances subject to varied rates of withholding (such as *cents per KM* or *travel allowances*) to see whether Odoo currently covers your business case." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:277 +msgid "**Fictitious remuneration calculation**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:750 -msgid "As of Odoo 18, some allowances such as :guilabel:`Laundry: Allowance for approved uniforms` are managed by two other inputs: one to lodge the amount paid up to the ATO limit, and the other one to lodge the amount exceeding the ATO limit. This is necessary for Odoo to compute PAYGW correctly." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:279 +msgid "If unpaid leave was taken, Odoo computes a fictitious remuneration adjustment using the formula:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:754 -msgid "Some businesses may require to shift the reporting of an allowance from :guilabel:`OTE` to :guilabel:`Salary & Wages` depending on the employee. In this case, you must duplicate and re-configure an existing other input type. For example, :guilabel:`Work-Related Non-Expense` allowance is :guilabel:`OTE` by default." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:282 +msgid "\\text{Fictitious Remuneration} = (\\text{Unpaid Leave Days} \\times\n" +"\\text{Average Monthly Salary} \\times 3) \\div (13 \\times 5)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:759 -msgid ":guilabel:`Deduction`: union fees and child support deductions are considered deductions." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:288 +msgid "**Generating the final attestation**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:760 -msgid ":guilabel:`ETP`: employment termination payments. These are either considered excluded or non-excluded (see `ATO's web page on ETP components taxation `_)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:290 +msgid "Odoo creates a payroll entry reflecting the vacation pay due." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:762 -msgid ":guilabel:`Leave`: leave-related other inputs that are not pertaining to a single pay period (lump sum, cashing out leaves while in service, unused leaves, etc.)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:291 +msgid "The attestation document is generated and can be printed or exported." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:764 -msgid ":guilabel:`Lump Sum`: return to work and lump sum E (for back payments) fall under this category." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:293 +msgid "Two payslips are created:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:766 -msgid ":guilabel:`Other`: other payments with their own specific logic." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:295 +msgid "**Payslip for the current year** (`termination_payslip_n`)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:768 -msgid ":guilabel:`PAYGW Treatment` affects how Odoo withholds tax for this input type: :guilabel:`Regular`, :guilabel:`No PAYG Withholding`, and :guilabel:`Excess Only` (for allowances)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:297 +msgid "This payslip covers the employee's last salary period in the year of termination." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:771 -msgid ":guilabel:`Superannuation Treatment`: :guilabel:`OTE`, :guilabel:`Salary & Wages`, and :guilabel:`Not Salary & Wages`." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:299 +msgid "**Payslip for the previous year** (`termination_payslip_n1`)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:773 -msgid ":guilabel:`STP Code`: only visible in :ref:`developer mode `, this field tells Odoo how to report the gross value of this payment to the ATO. We do not recommend changing the value of this field if it was already set by default." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:301 +msgid "The one accounts the amount of money converted from the untaken time off of previous year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:777 -msgid "Grouping other input types by :guilabel:`Payment Type` can help you understand the different scenarios in which these inputs can be used." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:303 +msgid "Each payslip is generated using the appropriate payroll structure, ensuring correct calculations for all entitlements and deductions." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Other input types grouped by payment type." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:306 +msgid "Before computing the final payment, the system gathers necessary payroll data:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:788 -msgid "A *work entry type* is a type of attendance for employees (e.g., attendance, paid leave, overtime, etc.). A few work entry types are created by default in every Australian database." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:308 +msgid "**Annual gross salary calculation**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Default work entry types for the Australian localization." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:310 +msgid "To estimate the employee's **annual gross salary**, the system looks for the most recent validated monthly payslip. If a payslip is found, the **gross salary** from that payslip is multiplied by 12 to get an annual estimate. If no payslip exists, the annual gross salary is set to **zero**." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:794 -msgid "Before using Odoo's payroll solution for Australia, it is recommended you trim work entry types to keep the ones you need only by going to :menuselection:`Payroll --> Configuration --> Work Entry Types`" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:315 +msgid "**European leave recovery**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:798 -msgid "For each type, make sure to configure the following fields for Australia:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:317 +msgid "The system retrieves all **European leave days (LEAVE216)** taken by the employee during the current year. It then calculates the **total amount paid for these leaves** and determines how much should be deducted." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:800 -msgid ":guilabel:`Is OTE`: determines whether time spent in this category can be considered ordinary time earnings, meaning that the superannuation guarantee rate will apply (e.g., regular attendance, paid leave, etc.)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:321 +msgid "The deduction follows these principles:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:803 -msgid ":guilabel:`Penalty Rate`: used to determine the percentage of penalty that applies to time spent in this category. It is important that you configure the penalty rate that applies in your state or industry according to the type of work (e.g., Saturday rate, Sunday rate, overtime rate, etc.)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:323 +msgid "If an employee has taken **European holidays (additional vacation days)**, the amount paid in advance must be recovered." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:806 -msgid ":guilabel:`STP Code`: only visible in :ref:`developer mode `, this field tells Odoo how to report the time spent in this category to the ATO. We do not recommend changing the value of this field if it was already set by default." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:325 +msgid "The recovery is either:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Configuring a work entry type." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:327 +msgid "Deducted from **the double vacation pay (85%)** for the next year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:814 -msgid "Current limitations" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:328 +msgid "Or, if the employee leaves, deducted from the final termination payslip." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:816 -msgid "As of Odoo 18, we do not recommend companies to use the Payroll app for the following business flows:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:330 +msgid "If leave has been taken, the **termination certificate** must specify:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:819 -msgid "Income stream types: Foreign Employment Income" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:332 +msgid "The **number of European leave days** already granted." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:820 -msgid "Tax treatment category: actors & performers" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:333 +msgid "The **gross allowance** corresponding to these days." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:821 -msgid "Death benefits reporting" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:335 +msgid "To ensure fairness, the system first checks whether a deduction has already been applied in the **double vacation pay**. If so, only the remaining amount is deducted from the final payslip." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:822 -msgid "Reporting obligations for WPN (instead of ABN)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:338 +msgid "Once the required values are determined, they are recorded in the payslip as **additional payroll inputs**:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:823 -msgid "Allowances subject to a varied rate of withholding (such as *cents per kilometer* allowance and *travel allowances*)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:341 +msgid "**Gross salary reference**: Includes the final salary amount plus any fictitious remuneration." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:826 -msgid "`Contact us `_ if you would like to make sure whether Odoo fits your payroll requirements in Australia." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:342 +msgid "**European leave deduction**: Deducts the previously paid European leave amounts." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:832 -msgid "Employment Hero integration" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:343 +msgid "**Other inputs**: Allocates time off taken, taxable amounts, and any outstanding allocations." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:834 -msgid "If your business is already up and running with Employment Hero, you can use the connector as an alternative payroll solution. The Employment Hero module synchronizes payslip accounting entries (e.g., expenses, social charges, liabilities, taxes) automatically from Employment Hero to Odoo. Payroll administration is still done in Employment Hero; Odoo only records the journal entries." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:345 +msgid "After setting these values, the system **computes the payslip** to ensure all deductions and payments are correctly applied." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:842 -msgid ":ref:`Install ` the Employment Hero Payroll module (`l10n_employment_hero`)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:348 +msgid "This process ensures that the final **termination payslip** takes into account all salary components, including **annual gross pay, European leave recovery, and any unpaid entitlements**. Odoo retrieves past payslips and time-off records to ensure compliance with **Belgian payroll regulations**." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:843 -msgid "Configure the Employment Hero API by going to :menuselection:`Accounting --> Configuration --> Settings`. More fields become visible after ticking the :guilabel:`Enable Employment Hero Integration` checkbox." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:353 +msgid "By automating this process, Odoo minimizes manual intervention, reducing errors and ensuring employees receive the correct termination payments." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:0 -msgid "Enabling the Employment Hero integration." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:357 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:609 +msgid "How does it work in Odoo?" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:850 -msgid "Find the :guilabel:`API Key` in the :guilabel:`My Account` section of the Employment Hero platform." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:359 +msgid "In Odoo, to access the holiday attests process, go to the employee form view and click on :icon:`fa-cog` :guilabel:`(Action)` then :guilabel:`Departure: Holiday Attests` or navigate to :menuselection:`Payroll --> Reporting --> Departure: Holiday Attests`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:0 -msgid "Finding the Employment Hero API key under the My Account section." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:363 +msgid "In the wizard that appears, you can see all the payslips over the current and last year, the time off requests and allocations. You can also encode the unpaid time off you would like to declare on that holiday attest." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:856 -msgid "The :guilabel:`Payroll URL` is pre-filled with `https://keypay.yourpayroll.com.au`." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:367 +msgid "Once you're ready, click the :guilabel:`Validate & Compute holiday attests` button. Two payslips are generated for each considered period (N and N-1)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:859 -msgid "Do not change the pre-filled :guilabel:`Payroll URL`." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:370 +msgid "Once validated, two :file:`.pdf` documents are generated. One **classic payslip** and one **holiday attests** for the future employer." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:861 -msgid "Find the :guilabel:`Business Id` in the Employment Hero URL (e.g., `189241`)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:0 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:0 +msgid "Departure Holiday Attests Payslips." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:0 -msgid "Finding the Employment Hero Business ID in the URL." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:0 +msgid "Departure Holiday Attests Time off." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:866 -msgid "Select any Odoo journal as the :guilabel:`Payroll Journal` to post the payslip entries." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:0 +msgid "Departure Holiday Attests Unpaid." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:868 -msgid "Configure the tax by going to :menuselection:`Accounting --> Configuration --> Taxes`. Create the necessary taxes for the Employment Hero payslip entries. Fill in the tax code from Employment Hero in the :menuselection:`Matching Employment Hero Tax` field." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:387 +msgid "In our example, the employee also took one European time off during the N-year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:873 -msgid "The API explained" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:389 +msgid "For year N-1, you can see that all legal time off were taken." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:875 -#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:56 -msgid "The API syncs the journal entries from Employment Hero to Odoo and leaves them in draft mode. The reference includes the Employment Hero payslip entry ID in brackets for the user to easily retrieve the same record in Employment Hero and Odoo." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:0 +msgid "Departure Holiday Attests Attest N-1." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Employment Hero journal entries in Odoo." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:0 +msgid "Departure Holiday Attests Payslip N-1." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:882 -msgid "By default, the synchronization happens once per week. It is possible to fetch the records manually by going to :menuselection:`Accounting --> Configuration --> Settings` and, in the :guilabel:`Employment Hero`, clicking :guilabel:`Fetch Payruns Manually`." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:397 +msgid "For year N, you can also see the number off additional time off (European) and already taken legal time off are taken into account as well." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:886 -msgid "Employment Hero payslip entries also work based on double-entry bookkeeping. The accounts used by Employment Hero are defined in the Payroll settings section." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:0 +msgid "Departure Holiday Attests Attest N." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:-1 -msgid "Finding the Employment Hero accounts." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:0 +msgid "Departure Holiday Attests Payslip N." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/australia.rst:892 -msgid "For the API to work, you must create the same accounts as the default accounts of your Employment Hero business (same name and same code) in Odoo. You also need to choose the correct account types in Odoo to generate accurate financial reports." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:407 +msgid "Important Notes" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3 -msgid "Belgium" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:409 +msgid "By using Odoo's automated attestation generation, companies can ensure compliance with Belgian labor laws while reducing manual administrative work." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:8 -msgid "Understanding the Belgian payslip" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:413 +msgid "The feature is only available for companies registered in Belgium." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:13 -msgid "Providing employees with a clear, transparent payslip is essential for compliance and employee satisfaction. This guide explains how to interpret a Belgian payslip, detailing key components that impact salary calculations and deductions." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:414 +msgid "If the notice period is not set for an employee, Odoo will prompt for this information." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:20 -msgid "The first section of the payslip contains the employee's general details. It is crucial to verify the accuracy of the civil status and the number of dependents, as these factors influence tax calculations. Employers can ensure updates are made through their internal salary configurator or employee profile management systems." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:415 +msgid "Employers must ensure vacation attestations are provided before the employee needs to submit them to their new employer or the ONEM." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "How to read a payslip - General Information." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:421 +msgid "Departure: notice period & termination fees" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:31 -msgid "This section outlines time-off applications and their impact on salary. The base salary typically remains constant unless unpaid leave is taken. If an employee has taken unpaid leave, parental leave, or any unexpected absence, their salary will reflect the corresponding deductions." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:423 +msgid "This documentation explains how the employee departure process works in the application, focusing on the notice period calculation and severance pay when the employee does not serve their notice period." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "How to read a payslip - Work Entries." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:430 +msgid "This module helps manage employee departures by determining the correct notice period based on seniority, departure reasons, and specific country regulations (Belgium). It also calculates severance pay when the employee does not work during their notice period." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:39 -msgid "Payroll calculation" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:435 +msgid "Key features" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:41 -msgid "The core of the payslip details various salary components, deductions, and benefits. Below are the primary elements:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:437 +msgid "Automatic calculation of notice period start and end dates." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:44 -msgid "**Benefits in Kind**: If applicable, benefits in kind (such as a mobile or internet subscription or a laptop) are subject to taxation and impact net remuneration." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:438 +msgid "Consideration of public holidays and company-specific schedules." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:47 -msgid "When a company car is provided for personal use, a taxable benefit (ATN) is added to the employee's salary. This is determined by:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:439 +msgid "Calculation of severance pay based on company policies and government rules." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:50 -msgid "The catalog value and age of the vehicle" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:440 +msgid "Generation of a final payslip including termination fees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:51 -msgid "The vehicle's CO2 emissions" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:443 +msgid "Notice period calculation" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:53 -msgid "This benefit is subject to withholding tax and will be adjusted later in the payroll process." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:445 +msgid "The notice period depends on several factors:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:54 -msgid "**Social Security contributions**: A mandatory 13.07% deduction from gross salary is allocated to the National Social Security Office (ONSS). This includes:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:447 +msgid "The employee's seniority in the company." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:57 -msgid "Pensions: 7.5%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:448 +msgid "The reason for departure (resignation, dismissal, retirement, etc.)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:58 -msgid "Health Insurance for Care: 3.55%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:449 +msgid "Whether the employee works during the notice period or not." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:59 -msgid "Health Insurance for Benefits: 1.15%" -msgstr "" - -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:60 -msgid "Unemployment: 0.87%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:450 +msgid "The salary level before January 1, 2014 (for some cases)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:62 -msgid "Additionally, the employer contributes on average 25% of the employer's contributions to the National Social Security Office." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:452 +msgid "The notice period starts on the first Monday after the departure date unless a specific rule applies (e.g., a mandatory waiting period of three days for certain dismissals)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:64 -msgid "**Employment bonus**: A reduction in employee contributions based on gross salary, which is phased out if the salary exceeds a specific threshold." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:456 +msgid "Notice duration rules" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:68 -msgid "`More info on job bonuses `_" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:458 +msgid "The following table shows the duration of the notice period based on the length of service:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:70 -msgid "**Withholding taxes**: Withholding tax rates are revised annually by the `SPF Finances `_." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:461 +msgid "For resigned employees" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:73 -msgid "The tax amount is influenced by:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:464 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:493 +msgid "Seniority (months)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:75 -msgid "Gross salary" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:464 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:493 +msgid "Notice Period (weeks)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:76 -msgid "Marital status (married, legally cohabiting, or single)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:466 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:495 +msgid "0 - 3" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:77 -msgid "Household composition (children or other dependents)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:466 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:495 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1244 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1300 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1564 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1620 +msgid "1" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:79 -msgid "This serves as an advance payment on professional income tax." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:468 +msgid "3 - 6" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:80 -msgid "**Reduction in withholding tax**: A reduction based on gross salary, which is ignored if salary surpasses a specific amount." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:468 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1246 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1302 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1566 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1622 +msgid "2" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:82 -msgid "**Special Social Security contribution**: A household income-based tax applicable to all employees covered by social security." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:470 +msgid "6 - 12" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:84 -msgid "**Meal voucher deduction**: Employees receive meal vouchers valued for instance at €8 per workday, where:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:470 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:497 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1248 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1304 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1568 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1624 +msgid "3" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:87 -msgid "The employer contributes €6.91" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:472 +msgid "12 - 18" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:88 -msgid "The employee contributes €1.09" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:472 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:499 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1250 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1306 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1570 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1626 +msgid "4" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:91 -msgid "5 worked days -> deduction of €5.45 (:math:`5\\times\\text{€}1.09`)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:474 +msgid "18 - 24" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:92 -msgid "22 worked days -> deduction of €23.98 (:math:`22\\times\\text{€}1.09`)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:474 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:501 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1252 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1572 +msgid "5" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:94 -msgid "Variations in this deduction impact monthly net salary." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:476 +msgid "24 - 48" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:95 -msgid "**Representation fees**: An optional net salary component, allocated in two parts:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:476 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:503 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1254 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1574 +msgid "6" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:97 -msgid "A fixed portion, independent of working hours" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:478 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:519 +msgid "48 - 60" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:98 -msgid "A prorated portion, adjusted for part-time schedules" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:478 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:505 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1256 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1576 +msgid "7" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:99 -msgid "**Net salary**: The final amount deposited into the employee's bank account after deductions." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:480 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:521 +msgid "60 - 72" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:104 -msgid "December pay" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:480 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:509 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1260 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1580 +msgid "9" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:107 -msgid "Why a December settlement?" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:482 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:523 +msgid "72 - 84" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:109 -msgid "An employer must pay a vacation allowance to an employee in December under two conditions:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:482 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:511 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1262 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1582 +msgid "10" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:111 -msgid "If the employee has reduced their working hours during the vacation year." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:484 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:525 +msgid "84 - 96" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:112 -msgid "If the employee is unable to take all their vacation days before the end of the year." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:484 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:515 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1266 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1586 +msgid "12" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:114 -msgid "In principle, employers must ensure that employees take their annual vacation before December 31. However, certain circumstances may prevent employees from using all their vacation days. In these cases, the employer must pay the simple vacation allowance for unused days before the end of the year. Additionally, if the employee has not received the double vacation allowance earlier in the year (typically in May or June), they are entitled to receive it." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:486 +msgid "96+" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:121 -msgid "Reduction of working hours" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:486 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:517 +msgid "13" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:123 -msgid "When an employee reduces their average working hours with the same employer, the employer must pay the vacation allowance in December of the year in which the reduction occurs, as if the employee had left the company." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:490 +msgid "For dismissed employees" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:127 -msgid "**Possible scenarios**:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:497 +msgid "3 - 4" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:129 -msgid "Transition to part-time work." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:499 +msgid "4 - 5" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:130 -msgid "Partial career break." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:501 +msgid "5 - 6" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:131 -msgid "Thematic leave on a part-time basis." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:503 +msgid "6 - 9" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:132 -msgid "Partial return to work after a full incapacity period." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:505 +msgid "9 - 12" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:134 -msgid "The settlement is calculated based on the previous vacation year's earnings and includes:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:507 +msgid "12 - 15" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:136 -msgid "**Simple vacation allowance**: 7.67% of the yearly gross salary from the previous year, including any fictitious salary for assimilated interruption days, minus the simple vacation allowance already paid during the vacation year." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:507 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1258 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1578 +msgid "8" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:139 -msgid "**Double vacation allowance**: 7.67% of the yearly gross salary from the previous year, including any fictitious salary for assimilated interruption days, minus the double vacation allowance already paid during the vacation year." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:509 +msgid "15 - 18" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:143 -msgid "If all vacation days have been taken before the reduction in working hours, no additional calculation is required." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:511 +msgid "18 - 21" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:147 -msgid "Inability to use vacation days" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:513 +msgid "21 - 24" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:149 -msgid "As a general rule, all vacation days must be used within the vacation year. However, if an employee is unable to take all their vacation due to force majeure or specific suspension reasons, the employer must pay the following by December 31:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:513 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1264 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1584 +msgid "11" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:153 -msgid "**Simple vacation allowance** for unused days, based on the December salary." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:515 +msgid "24 - 36" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:154 -msgid "**Double vacation allowance** if it has not yet been paid, based on the December salary." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:517 +msgid "36 - 48" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:156 -msgid "**Eligible reasons include**:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:519 +msgid "15" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:158 -msgid "Common illness or accident." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:521 +msgid "18" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:159 -msgid "Work accident or occupational disease." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:523 +msgid "21" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:160 -msgid "Maternity leave, paternity leave (converted maternity leave), prophylactic leave." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:525 +msgid "24" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:161 -msgid "Birth, adoption, or reception leave." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:527 +msgid "96 - 108" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:162 -msgid "Parental leave or protective maternity leave measures." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:527 +msgid "27" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:165 -msgid "New rule (effective end of 2024)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:529 +msgid "108 - 120" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:167 -msgid "Employees unable to take vacation due to the above reasons (except force majeure or protective maternity leave measures) can carry over unused days for up to 24 months. Since the vacation allowance is already paid in December of the vacation year, no additional payment will be made when the carried-over days are used." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:529 +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:330 +msgid "30" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:173 -msgid "Employer payment responsibilities" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:531 +msgid "120 - 132" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:175 -msgid "The employer must pay any outstanding simple vacation allowance based on 7.67% of the gross salary from the previous year. However, an exit vacation allowance based on the current year's gross salary is not due." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:531 +msgid "33" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:179 -msgid "If an employee reduces their working hours and continues in the same role the following year, an additional vacation allowance calculation may be required in December." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:533 +msgid "132 - 144" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:183 -msgid "Example calculation" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:533 +msgid "36" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:185 -msgid "In 2013, an employee works full-time (5 days per week)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:535 +msgid "144 - 156" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:186 -msgid "In 2014, the employee works full-time until June 30, then switches to part-time (5 half-days per week)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:535 +msgid "39" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:188 -msgid "The employee takes vacation in August 2014 under the new part-time regime (20 half-days over 4 weeks)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:537 +msgid "156 - 168" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:190 -msgid "They receive a simple vacation allowance for 20 half-days and a double vacation allowance equivalent to 92% of their monthly salary." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:537 +msgid "42" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:192 -msgid "In December 2014, the employee receives additional simple (7.67%) and double (7.67%) vacation allowances based on 2013's gross salary, minus previously paid amounts." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:539 +msgid "168 - 180" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:194 -msgid "In 2015, if the employee continues part-time, they receive vacation based on part-time hours plus 5 full-time vacation days from the 2014 vacation year." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:539 +msgid "45" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:196 -msgid "A second settlement in December 2015 includes additional simple (7.67%) and double (7.67%) vacation allowances based on the 2014 gross salary, minus previously paid amounts." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:541 +msgid "180 - 192" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:200 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1650 -msgid "How to do it in Odoo" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:541 +msgid "48" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:202 -msgid "On a classic :doc:`payslip <../payslips>` issued in December, press the :guilabel:`Compute December Holiday Pay` button to open a configuration wizard." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:543 +msgid "192 - 204" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:205 -msgid "Based on the allocated and requested time off, the :guilabel:`Simple Holiday Pay N-1` and :guilabel:`Double Holiday Pay N-1` for the December payslip are computed (and editable for manual encoding). Click :guilabel:`Validate` to confirm." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:543 +msgid "51" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "December Pay Amount." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:545 +msgid "204 - 216" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:212 -msgid "After validation, two additional inputs are stored on the payslip, and the payslip is re-computed to take those new remunerations into account." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:545 +msgid "54" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:215 -msgid "The simple holiday pay is included into the gross remuneration." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:547 +msgid "216 - 228" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "December Pay Simple." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:547 +msgid "57" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:220 -msgid "The double holiday pay is computed separately and included into the net amount." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:549 +msgid "228 - 240" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "December Pay Double." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:549 +msgid "60" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:228 -msgid "Departure: holiday attests" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:551 +msgid "240 - 252" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:233 -msgid "In Belgium, when an employee leaves a company, the employer is required to provide vacation attestations. These documents help the new employer determine the employee's vacation entitlements and any vacation pay due. Odoo facilitates the automatic generation of these attestations based on payroll and time-off data." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:551 +msgid "62" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:239 -msgid "Types of attestations" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:553 +msgid "252 - 264" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:241 -msgid "Odoo generates two types of vacation attestations:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:553 +msgid "63" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:243 -msgid "**For the previous year (N-1)**: If the employee has not yet taken all the vacation days from the previous year." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:555 +msgid "264 - 276" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:245 -msgid "**For the current year (N)**: Covering the vacation rights accrued in the year of departure." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:555 +msgid "64" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:247 -msgid "Each attestation includes details such as:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:557 +msgid "276 - 288" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:249 -msgid "The period the employee was employed." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:557 +msgid "65" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:250 -msgid "Agreed working time and any modifications." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:559 +msgid "288+" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:251 -msgid "Gross amounts of single and double vacation pay paid." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:559 +msgid "66+" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:252 -msgid "Social security contributions paid by the employer." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:563 +msgid "Special case: employees hired before 2014" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:253 -msgid "Number of vacation days already taken." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:565 +msgid "For employees who started before January 1, 2014, the notice period calculation is divided into two parts:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:254 -msgid "Additional (European) vacation pay and days." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:569 +msgid "Part 1: Seniority acquired before December 31, 2013" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:257 -msgid "Calculation logic in Odoo" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:571 +msgid "**Lower-level employees** (annual gross salary ≤ €32,254): The notice period is 3 months for the first 5 years of seniority, increasing by 1.5 months per additional year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:259 -msgid "Odoo computes the attestations based on payroll and leave data. The main calculations include:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:573 +msgid "**Higher-level employees** (annual gross salary > €32,254): The notice period is 1 month per started year of seniority, with a minimum of 3 months." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:261 -msgid "**Retrieving payroll and leave records**" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:577 +msgid "Part 2: Seniority acquired from January 1, 2014 onwards" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:263 -msgid "The system identifies the employee's payroll records for the current and previous years." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:579 +msgid "The standard notice period rules from 2014 apply to seniority acquired after this date." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:264 -msgid "It retrieves validated leave requests and allocations." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:581 +msgid "The total notice period is the sum of both periods calculated separately." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:266 -msgid "**Computing gross remuneration**" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:584 +msgid "Severance pay calculation" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:268 -msgid "The gross annual salary for both the current and previous years is computed from payroll records." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:586 +msgid "If an employee does not serve their notice period, severance pay is calculated based on:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:270 -msgid "The average monthly salary is calculated for unpaid leave adjustments." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:588 +msgid "The remaining notice duration." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:272 -msgid "**Time-off calculations**" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:589 +msgid "The employee's last salary." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:274 -msgid "The number of vacation days taken and allocated in the current year is determined." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:590 +msgid "Additional compensation such as bonuses, stock options, and insurance contributions." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:275 -msgid "Unpaid leave days are accounted for separately." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:592 +msgid "The severance pay consists of:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:277 -msgid "**Fictitious remuneration calculation**" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:594 +msgid "The current salary, which corresponds either to the full notice period that should normally be observed or the remaining part of it." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:279 -msgid "If unpaid leave was taken, Odoo computes a fictitious remuneration adjustment using the formula:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:596 +msgid "Benefits acquired during the contract (e.g., meal vouchers, company car, mobile phone usage)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:282 -msgid "\\text{Fictitious Remuneration} = (\\text{Unpaid Leave Days} \\times\n" -"\\text{Average Monthly Salary} \\times 3) \\div (13 \\times 5)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:598 +msgid "The current salary is determined as follows:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:288 -msgid "**Generating the final attestation**" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:600 +msgid "The employee's gross monthly salary at the time of dismissal." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:290 -msgid "Odoo creates a payroll entry reflecting the vacation pay due." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:601 +msgid "All recurring bonuses, except for one-time bonuses (e.g., team work bonus, seniority bonus)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:291 -msgid "The attestation document is generated and can be printed or exported." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:602 +msgid "Additional compensation for overtime hours worked over a longer period." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:293 -msgid "Two payslips are created:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:603 +msgid "Variable salary (average over the last twelve months)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:295 -msgid "**Payslip for the current year** (`termination_payslip_n`)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:605 +msgid "The system automatically generates a termination payslip including these calculations, ensuring compliance with Belgian labor laws." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:297 -msgid "This payslip covers the employee's last salary period in the year of termination." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:611 +msgid "In Odoo, to access the departure process, go to the employee form view and click on :icon:`fa-cog` :guilabel:`(Action)` then :guilabel:`Departure: Notice Period and payslip` or navigate to :menuselection:`Payroll --> Reporting --> Departure: Notice Period`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:299 -msgid "**Payslip for the previous year** (`termination_payslip_n1`)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:615 +msgid "In the wizard that appears, select the reason for departure, provide a description of the departure, and specify the dismissal date. The employee's seniority is calculated based on their contract history, and the notice period is determined accordingly. You can also indicate whether the employee will be working during the notice period." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:301 -msgid "The one accounts the amount of money converted from the untaken time off of previous year." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Departure Notice Wizard." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:303 -msgid "Each payslip is generated using the appropriate payroll structure, ensuring correct calculations for all entitlements and deductions." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:623 +msgid "If the employee is working during the notice period, there are no termination fees to calculate, and the notice period will be recorded on the employee's form. Click the :guilabel:`Validate` button." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:306 -msgid "Before computing the final payment, the system gathers necessary payroll data:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:627 +msgid "If the employee is working partially or not at all, the wizard will generate and calculate a termination fees payslip. Click the :guilabel:`Validate & Compute termination fees` button." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:308 -msgid "**Annual gross salary calculation**" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:630 +msgid "The payslip takes into account all the salaries and benefits the employee would have received over the course of a year to calculate a virtual annual remuneration. This amount is then prorated based on the notice period to convert it into a gross salary." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:310 -msgid "To estimate the employee's **annual gross salary**, the system looks for the most recent validated monthly payslip. If a payslip is found, the **gross salary** from that payslip is multiplied by 12 to get an annual estimate. If no payslip exists, the annual gross salary is set to **zero**." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:634 +msgid "A detailed summary is provided on the payslip." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:315 -msgid "**European leave recovery**" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:0 +msgid "Departure Notice: Termination Fees Payslip 1." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:317 -msgid "The system retrieves all **European leave days (LEAVE216)** taken by the employee during the current year. It then calculates the **total amount paid for these leaves** and determines how much should be deducted." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:0 +msgid "Departure Notice: Termination Fees Payslip 2." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:321 -msgid "The deduction follows these principles:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:644 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1354 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2118 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2253 +msgid "Conclusion" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:323 -msgid "If an employee has taken **European holidays (additional vacation days)**, the amount paid in advance must be recovered." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:646 +msgid "This module simplifies the departure process by providing clear and automatic calculations for the notice period and severance pay. It helps HR teams ensure compliance and streamline the exit process for employees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:325 -msgid "The recovery is either:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:653 +msgid "DIMONA" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:327 -msgid "Deducted from **the double vacation pay (85%)** for the next year." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:656 +msgid "What is the Dimona?" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:328 -msgid "Or, if the employee leaves, deducted from the final termination payslip." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:659 +msgid "Obligation" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:330 -msgid "If leave has been taken, the **termination certificate** must specify:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:661 +msgid "All employers, both in the public and private sectors, are required to electronically communicate the entry and exit of their personnel to the National Social Security Office (Royal Decree of November 5, 2002)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:332 -msgid "The **number of European leave days** already granted." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:665 +msgid "This involves the immediate declaration of employment, also known as DIMONA (Déclaration Immédiate - Onmiddellijke Aangifte). Its purpose is to immediately notify social security institutions of the beginning and end of an employment relationship between the worker and the employer." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:333 -msgid "The **gross allowance** corresponding to these days." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:669 +msgid "The declarations submitted by the employer and immediately checked by the NSSO feed into a database called the *personnel file*. The employer can access it in a secure environment. There are numerous search criteria: they can be based on characteristics and combinations of characteristics." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:335 -msgid "To ensure fairness, the system first checks whether a deduction has already been applied in the **double vacation pay**. If so, only the remaining amount is deducted from the final payslip." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:673 +msgid "Failure to comply with this reporting obligation may result in criminal penalties as provided for in Article 181 of the Social Penal Code." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:338 -msgid "Once the required values are determined, they are recorded in the payslip as **additional payroll inputs**:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:676 +msgid "Furthermore, in case of omission of declaration, the employer will owe the NSSO a solidarity contribution." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:341 -msgid "**Gross salary reference**: Includes the final salary amount plus any fictitious remuneration." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:680 +msgid "Concept and terminology" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:342 -msgid "**European leave deduction**: Deducts the previously paid European leave amounts." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:683 +msgid "Employer-worker relationship" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:343 -msgid "**Other inputs**: Allocates time off taken, taxable amounts, and any outstanding allocations." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:685 +msgid "The relationship between the \"employer\" and the \"worker\" couple. This relationship includes stable data (employer identification number, worker's national identification social security number (NISS), start date of the relationship, and optionally end date), which will be maintained even in case of creation, closure, modification, or cancellation of a period. This relationship begins with the worker's first engagement and ends at the end of their last occupation. In the personnel file, \"employer-worker\" relationships constitute the first level of consultation. The second level encompasses all Dimona periods;" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:345 -msgid "After setting these values, the system **computes the payslip** to ensure all deductions and payments are correctly applied." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:694 +msgid "Dimona period" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:348 -msgid "This process ensures that the final **termination payslip** takes into account all salary components, including **annual gross pay, European leave recovery, and any unpaid entitlements**. Odoo retrieves past payslips and time-off records to ensure compliance with **Belgian payroll regulations**." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:696 +msgid "A period is created with each IN declaration, thus at the beginning of each new occupation. It is closed by an exit date at the end of each occupation. The employer-worker relationship, on the other hand, is maintained until the end of the last occupation. Several Dimona periods may or may not succeed each other within the same employer-worker relationship." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:353 -msgid "By automating this process, Odoo minimizes manual intervention, reducing errors and ensuring employees receive the correct termination payments." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:701 +msgid "Any changes generated by an OUT declaration, a modification (UPDATE), or a cancellation (CANCEL) occur at this second level." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:357 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:609 -msgid "How does it work in Odoo?" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:704 +msgid "This Dimona period is identified by a \"period identification number\". It is assigned to each IN declaration and constitutes the unique identification key of a period for submitting OUT, modification, or cancellation declarations." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:359 -msgid "In Odoo, to access the holiday attests process, go to the employee form view and click on :icon:`fa-cog` :guilabel:`(Action)` then :guilabel:`Departure: Holiday Attests` or navigate to :menuselection:`Payroll --> Reporting --> Departure: Holiday Attests`." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:709 +msgid "Dimona number" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:363 -msgid "In the wizard that appears, you can see all the payslips over the current and last year, the time off requests and allocations. You can also encode the unpaid time off you would like to declare on that holiday attest." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:711 +msgid "A unique number assigned by the NSSO to each Dimona declaration (IN, OUT, UPDATE, CANCEL,...). For an IN declaration, it is the period identification number. When declarations are submitted via file transfer, multiple Dimona numbers are created: one number per employment relationship included in the structured message;" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:367 -msgid "Once you're ready, click the :guilabel:`Validate & Compute holiday attests` button. Two payslips are generated for each considered period (N and N-1)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:717 +msgid "Dimona characteristics" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:370 -msgid "Once validated, two :file:`.pdf` documents are generated. One **classic payslip** and one **holiday attests** for the future employer." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:719 +msgid "Mandatory data of a Dimona declaration. There are four: the industry sector number, worker type, sub-entity (reserved for certain public sector employers), and user (for temporary workers). Characteristics are always linked to a period. In case of different characteristics, multiple periods can coexist;" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:0 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:0 -msgid "Departure Holiday Attests Payslips." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:725 +msgid "Receipt confirmation" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:0 -msgid "Departure Holiday Attests Time off." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:727 +msgid "Confirms for web users that the declaration has been received (appears immediately on the screen);" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:0 -msgid "Departure Holiday Attests Unpaid." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:730 +msgid "Receipt acknowledgment" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:387 -msgid "In our example, the employee also took one European time off during the N-year." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:732 +msgid "Electronic message for batch senders indicating whether the file is usable for the NSSO. This \"receipt acknowledgment\" contains the ticket number (:dfn:`file identification number`) and the file status: accepted or rejected depending on whether the file is readable or not;" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:389 -msgid "For year N-1, you can see that all legal time off were taken." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:737 +msgid "Notification" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:0 -msgid "Departure Holiday Attests Attest N-1." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:739 +msgid "Electronic message with feedback on the processing of the declaration. The notification is the immediate result of form and content checks. It can be of three types: positive (Dimona accepted), negative (Dimona rejected), or provisional (only in case of problems with worker identification). The provisional notification will always be followed by a positive or negative notification." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:0 -msgid "Departure Holiday Attests Payslip N-1." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:744 +msgid "For the declaration of students under a student contract (STU), the notification will also contain a warning if the student is declared for more than 475 hours. If the declaration was made via a secure channel, the exact number of days of excess will be communicated." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:397 -msgid "For year N, you can also see the number off additional time off (European) and already taken legal time off are taken into account as well." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:748 +msgid "For the daily declaration of occasional workers in the hospitality industry, the notification will also contain a warning if the worker is declared for more than 50 days and/or for the employer quota, if more than 100 days of occasional work have been declared." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:0 -msgid "Departure Holiday Attests Attest N." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:752 +msgid "Once you have received this notification, you have five working days to contest the accuracy of the data mentioned therein. At the end of this period, these data will be considered final. For any disputes, you must contact the Eranova Contact Center (tel: 02 511 51 51, email: contactcenter@eranova.fgov.be)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:0 -msgid "Departure Holiday Attests Payslip N." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:757 +msgid "Note that if the employer is affiliated with an approved social secretariat or a full-service secretariat, they may not receive any notification. In this case, notifications are electronically transmitted to the social secretariat or full-service secretariat, even for declarations that the employer has submitted personally. However, the employer has access to the personnel file, where they can view all data." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:407 -msgid "Important Notes" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:764 +msgid "Channels" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:409 -msgid "By using Odoo's automated attestation generation, companies can ensure compliance with Belgian labor laws while reducing manual administrative work." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:766 +msgid "The Dimona declaration must be submitted in the form of an electronic message via one of the following channels:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:413 -msgid "The feature is only available for companies registered in Belgium." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:769 +msgid "web" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:414 -msgid "If the notice period is not set for an employee, Odoo will prompt for this information." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:770 +msgid "personnel file" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:415 -msgid "Employers must ensure vacation attestations are provided before the employee needs to submit them to their new employer or the ONEM." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:771 +msgid "file transfer" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:421 -msgid "Departure: notice period & termination fees" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:772 +msgid "web service (REST)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:423 -msgid "This documentation explains how the employee departure process works in the application, focusing on the notice period calculation and severance pay when the employee does not serve their notice period." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:773 +msgid "Dimona Mobile" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:430 -msgid "This module helps manage employee departures by determining the correct notice period based on seniority, departure reasons, and specific country regulations (Belgium). It also calculates severance pay when the employee does not work during their notice period." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:775 +msgid "The choice of one channel over another has no impact on the declaration. Therefore, you can freely choose the channel you will use." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:435 -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:78 -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:124 -msgid "Key features" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:778 +msgid "Any declaration modifications can also be made through any of these four channels. The channel through which the original declaration was submitted plays no role." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:437 -msgid "Automatic calculation of notice period start and end dates." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:781 +msgid "A Dimona declaration cannot be submitted via SMS." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:438 -msgid "Consideration of public holidays and company-specific schedules." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:784 +msgid "Dimona in Odoo" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:439 -msgid "Calculation of severance pay based on company policies and government rules." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:787 +msgid "Manual" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:440 -msgid "Generation of a final payslip including termination fees." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:789 +msgid "In Odoo, when you have the Belgian Payroll Localization installed, as soon as you have a contract set to the running stage, it creates an activity for the HR responsible that they need to introduce the Dimona for today with the correct link to the Dimona Platform (the web channel mentioned in the Channels section of this article)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:443 -msgid "Notice period calculation" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Dimona Activity." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:445 -msgid "The notice period depends on several factors:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:798 +msgid "Automated" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:447 -msgid "The employee's seniority in the company." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:800 +msgid "In Odoo, when you have the Belgian Payroll Localization installed, it is also possible to install the module Belgium - Payroll - Dimona. This module will allow you to perform the 4 main actions needed in the Dimona (as seen in Section 1 of this article):" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:448 -msgid "The reason for departure (resignation, dismissal, retirement, etc.)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:804 +msgid "Open the dimona" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:449 -msgid "Whether the employee works during the notice period or not." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:805 +msgid "Update the dimona" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:450 -msgid "The salary level before January 1, 2014 (for some cases)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:806 +msgid "Close the dimona" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:452 -msgid "The notice period starts on the first Monday after the departure date unless a specific rule applies (e.g., a mandatory waiting period of three days for certain dismissals)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:807 +msgid "Cancel the Dimona" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:456 -msgid "Notice duration rules" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:809 +msgid "These actions answer the different use case explained in Section 1." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:458 -msgid "The following table shows the duration of the notice period based on the length of service:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:812 +msgid "Contract and employee data" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:461 -msgid "For resigned employees" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:814 +msgid "Basically, it checks the contract and employee data needed to create, update, close or cancel." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:464 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:493 -msgid "Seniority (months)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:817 +msgid "Error handling" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:464 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:493 -msgid "Notice Period (weeks)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:819 +msgid "If some information is missing or wrongly configured, the system will return errors and you can take corrective action in order to make sure your Dimona is correctly sent, updated, closed or canceled." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:466 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:495 -msgid "0 - 3" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:824 +msgid "Synchronization status" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:466 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:495 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1244 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1300 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1564 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1620 -msgid "1" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:826 +msgid "The status of sync and errors are shown in the chatter of the contract." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:468 -msgid "3 - 6" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:829 +msgid "Scheduled action" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:468 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1246 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1302 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1566 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1622 -msgid "2" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:831 +msgid "Finally, the cron checks every day, for all contracts that have the status dimona waiting and triggers the necessary actions to update the dimona status accordingly." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:470 -msgid "6 - 12" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:835 +msgid "Technical configuration (outside Odoo)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:470 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:497 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1248 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1304 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1568 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1624 -msgid "3" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:837 +msgid "Regarding the technical configuration, everything is described in the module information with all the technical prerequisites. If your customer or partner need further assistance with that, they need to contact their IT department or representatives as this is not part of Odoo configuration." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:472 -msgid "12 - 18" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:842 +msgid "Functional configuration (within Odoo)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:472 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:499 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1250 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1306 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1570 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1626 -msgid "4" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:844 +msgid "From the Odoo configuration point of view, navigate to :menuselection:`Payroll app --> Configuration --> Settings` and in the :guilabel:`Belgian Localization` section for :guilabel:`ONSS`, configure the following:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:474 -msgid "18 - 24" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:848 +msgid ":guilabel:`ONSS Company ID`: VAT Number of the Company" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:474 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:501 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1252 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1572 -msgid "5" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:849 +msgid ":guilabel:`Registration Number`: 9 digits code received from the NSSO (ONSS - RSZ)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:476 -msgid "24 - 48" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:850 +msgid ":guilabel:`DMFA Employer Class`: 3 digits code received from the NSSO (ONSS - RSZ)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:476 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:503 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1254 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1574 -msgid "6" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:851 +msgid ":guilabel:`Expeditor Number ONSS`: Not Mandatory (see technical documentation of the module for more information)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:478 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:519 -msgid "48 - 60" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:853 +msgid ":guilabel:`PEM Certificate`, :guilabel:`PEM Passphare`, :guilabel:`KEY file`: check the module information for explanation" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:478 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:505 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1256 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1576 -msgid "7" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:859 +msgid "DmfA - Multifunctional Declaration" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:480 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:521 -msgid "60 - 72" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:864 +msgid "DmfA stands for \"Déclaration Multifonctionnelle\" or \"Multifunctionele Aangifte.\" It has replaced the quarterly ONSS declaration since the first quarter of 2003. Through this declaration, employers submit salary and working time data for their employees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:480 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:509 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1260 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1580 -msgid "9" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:868 +msgid "These data are processed in a way that allows all social security institutions to work with the same information. The declaration is called \"multifunctional\" because it is used not only for social security contribution calculations and reductions but also as a data source for institutions managing social security rights and benefits." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:482 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:523 -msgid "72 - 84" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:873 +msgid "Sectors utilizing DmfA data include:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:482 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:511 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1262 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1582 -msgid "10" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:875 +msgid "Health insurance" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:484 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:525 -msgid "84 - 96" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:876 +msgid "Unemployment benefits" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:484 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:515 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1266 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1586 -msgid "12" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:877 +msgid "Pensions" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:486 -msgid "96+" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:878 +msgid "Occupational risks (Fedris)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:486 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:517 -msgid "13" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:879 +msgid "Family allowances" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:490 -msgid "For dismissed employees" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:880 +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:89 +msgid "Annual leave" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:497 -msgid "3 - 4" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:882 +msgid "All employers registered with ONSS must submit a DmfA declaration." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:499 -msgid "4 - 5" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:885 +msgid "Relationship with Dimona and DRS" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:501 -msgid "5 - 6" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:887 +msgid "DmfA is closely linked to two other mandatory declarations:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:503 -msgid "6 - 9" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:890 +msgid "Dimona (immediate declaration)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:505 -msgid "9 - 12" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:892 +msgid "Dimona records the start and end of an employment relationship with an employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:507 -msgid "12 - 15" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:895 +msgid "DRS (social risks declaration)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:507 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1258 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1578 -msgid "8" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:897 +msgid "During an employment relationship, various social risks may arise, such as termination, workplace accidents, or long-term illness. When a social risk occurs, social security institutions require additional information beyond that provided by DmfA and Dimona." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:509 -msgid "15 - 18" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:901 +msgid "DRS is now primarily an electronic declaration, though paper submissions remain possible." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:511 -msgid "18 - 21" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:904 +msgid "Who submits the DmfA declaration?" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:513 -msgid "21 - 24" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:907 +msgid "Self-declaration options" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:513 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1264 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1584 -msgid "11" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:909 +msgid "Employers can submit their DmfA declaration themselves via:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:515 -msgid "24 - 36" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:911 +msgid "**Web Submission:** Suitable for employers with a small workforce. Declarations are entered directly through the social security portal." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:517 -msgid "36 - 48" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:913 +msgid "**Batch Submission:** Designed for large employers or organizations handling multiple declarations (e.g., social secretariats, payroll software providers). Declarations are submitted via file transfer (FTP, SFTP, etc.)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:519 -msgid "15" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:918 +msgid "Advantages of web submission" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:521 -msgid "18" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:920 +msgid "**Automatic access to the company's employee list**: Based on Dimona data. If an employee is missing, they must first be declared via Dimona. After 24 hours, the employee list is updated, allowing for an accurate DmfA submission." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:523 -msgid "21" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:923 +msgid "**Automatic calculation of net payable amount**: Once all required data is entered, the system calculates the total payable amount." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:525 -msgid "24" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:925 +msgid "**Reduction calculations**: The system calculates applicable reductions, except for reductions under code \"0001\" (personal contribution reductions for low-income workers). Employers need to check the relevant boxes and, if necessary, provide additional details." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:527 -msgid "96 - 108" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:930 +msgid "Advantages of batch submission" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:527 -msgid "27" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:932 +msgid "**Submission of large volumes of declarations**: Ideal for organizations managing multiple payrolls." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:529 -msgid "108 - 120" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:934 +msgid "**Quick response on acceptance status**: Employers receive immediate feedback on whether their declaration has been accepted." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:529 -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:330 -msgid "30" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:936 +msgid "**Error reporting**: The system generates a report on detected anomalies, regardless of acceptance status." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:531 -msgid "120 - 132" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:938 +msgid "**Automatic correction of calculation errors**: When possible, errors are corrected automatically, and employers are notified of adjustments." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:531 -msgid "33" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:942 +msgid "Third-Party submission options" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:533 -msgid "132 - 144" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:944 +msgid "Employers who do not wish to submit the DmfA themselves can delegate the task to:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:533 -msgid "36" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:946 +msgid "**Accredited Social Secretariats**: These organizations handle payroll and declaration tasks on behalf of employers." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:535 -msgid "144 - 156" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:948 +msgid "**Service Providers**: These may be companies or individuals with whom the employer has a contractual agreement to manage payroll declarations securely." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:535 -msgid "39" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:951 +msgid "For more information on accredited social secretariats or service providers, please refer to the relevant `official DmfA documentation `_." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:537 -msgid "156 - 168" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:958 +msgid "The declaration is generated under :menuselection:`Payroll app --> Reporting --> Belgium --> DmfA` as is supposed to work properly after several required configuration steps." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:537 -msgid "42" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:962 +msgid "Company" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:539 -msgid "168 - 180" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:964 +msgid "To generate a valid DmfA declaration, specific company and employer-related information is required, (under :menuselection:`Payroll app --> Configuration --> Settings`). These include:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:539 -msgid "45" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:967 +msgid ":guilabel:`ONSS Company ID`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:541 -msgid "180 - 192" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:968 +msgid ":guilabel:`ONSS Registration Number`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:541 -msgid "48" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:969 +msgid ":guilabel:`DMFA Employer Class`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:543 -msgid "192 - 204" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:970 +msgid ":guilabel:`ONSS Certificate`: certificate for signature file generation (required for batch declarations)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:543 -msgid "51" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:972 +msgid "VAT :guilabel:`Company Number`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:545 -msgid "204 - 216" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:973 +msgid ":guilabel:`Revenue Code`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:545 -msgid "54" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:974 +msgid ":guilabel:`FFE Employer Type` (Fonds de Fermeture d'Entreprise)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:547 -msgid "216 - 228" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:979 +msgid "Additionally, each employee must be assigned to a valid working address, identified with a DmfA code, in their employee record. This operating unit must be linked to a valid ONSS identification number to ensure compliance with declaration requirements. Failing to configure this properly may result in errors during the declaration submission process." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:547 -msgid "57" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:984 +msgid "On the employee form, the :guilabel:`Work Address` must be defined." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:549 -msgid "228 - 240" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:986 +msgid "Under :menuselection:`Payroll app --> Configuration --> DMFA: Work Locations`, you can link the work address to a ONSS identification number." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:549 -msgid "60" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "DmfA - Work Location ONSS ID." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:551 -msgid "240 - 252" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:993 +msgid "Work entry type" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:551 -msgid "62" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:995 +msgid "A DmfA code should be defined for each work entry type that is declared. Under :menuselection:`Payroll app --> Configuration --> Work Entries --> Work Entry Types`, specify the :guilabel:`DMFA code`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:553 -msgid "252 - 264" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1000 +msgid "Potential configuration errors" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:553 -msgid "63" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1002 +msgid "During the declaration generation process, configuration issues may arise, triggering errors such as:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:555 -msgid "264 - 276" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1005 +msgid "Terminated employees without or with invalid start/end notice period" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:555 -msgid "64" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1006 +msgid "Invalid NISS number for some employees" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:557 -msgid "276 - 288" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1007 +msgid "Work addresses not linked to an ONSS identification code" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:557 -msgid "65" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1008 +msgid "Work entry type missing a corresponding DmfA code" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:559 -msgid "288+" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1009 +msgid "Other inconsistencies in employer or employee records" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:559 -msgid "66+" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1011 +msgid "Employers should ensure accurate configuration to avoid delays and rejection of their declarations." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:563 -msgid "Special case: employees hired before 2014" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1014 +msgid "Web declaration" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:565 -msgid "For employees who started before January 1, 2014, the notice period calculation is divided into two parts:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "DmfA - Web Declaration." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:569 -msgid "Part 1: Seniority acquired before December 31, 2013" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1019 +msgid "A web declaration generates a PDF summarizing the company's general information, as well as all employee data that must be manually entered into the system. This includes:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:571 -msgid "**Lower-level employees** (annual gross salary ≤ €32,254): The notice period is 3 months for the first 5 years of seniority, increasing by 1.5 months per additional year." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1022 +msgid "For the company:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:573 -msgid "**Higher-level employees** (annual gross salary > €32,254): The notice period is 1 month per started year of seniority, with a minimum of 3 months." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "DmfA - PDF Company." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:577 -msgid "Part 2: Seniority acquired from January 1, 2014 onwards" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1027 +msgid "For a specific employee:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:579 -msgid "The standard notice period rules from 2014 apply to seniority acquired after this date." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "DmfA - PDF Employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:581 -msgid "The total notice period is the sum of both periods calculated separately." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1032 +msgid "**Occupations**: Work schedules, part-time codes, parental leave, exploitation unit, reference working hours." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:584 -msgid "Severance pay calculation" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1034 +msgid "**Services**: Aggregated work performance (in days and hours) for the quarter, categorized by occupation and type. The codification of working time in the DmfA declaration ensures accurate reporting of employee activities. Each code corresponds to a specific type of working time or absence. For a complete and detailed list of codes, please refer to the official social security website: `socialsecurity.be `_" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:586 -msgid "If an employee does not serve their notice period, severance pay is calculated based on:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1040 +msgid "**1**: All performances covered by a salary subject to ONSS contributions, excluding legal and additional vacation for workers." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:588 -msgid "The remaining notice duration." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1042 +msgid "**2**: Legal vacation days for workers." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:589 -msgid "The employee's last salary." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1043 +msgid "**3**: Additional vacation days for workers." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:590 -msgid "Additional compensation such as bonuses, stock options, and insurance contributions." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1044 +msgid "**4**: Compensatory rest days." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:592 -msgid "The severance pay consists of:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1045 +msgid "**5**: Days of illness or non-occupational accident." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:594 -msgid "The current salary, which corresponds either to the full notice period that should normally be observed or the remaining part of it." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1046 +msgid "**6**: Family leave days." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:596 -msgid "Benefits acquired during the contract (e.g., meal vouchers, company car, mobile phone usage)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1047 +msgid "**7**: Maternity or paternity leave days." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:598 -msgid "The current salary is determined as follows:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1048 +msgid "**8**: Strike days." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:600 -msgid "The employee's gross monthly salary at the time of dismissal." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1049 +msgid "**9**: Temporary unemployment for economic reasons." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:601 -msgid "All recurring bonuses, except for one-time bonuses (e.g., team work bonus, seniority bonus)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1050 +msgid "**10**: Temporary unemployment for bad weather." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:602 -msgid "Additional compensation for overtime hours worked over a longer period." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1051 +msgid "**11**: Temporary unemployment for force majeure." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:603 -msgid "Variable salary (average over the last twelve months)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1052 +msgid "**12**: Professional training days." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:605 -msgid "The system automatically generates a termination payslip including these calculations, ensuring compliance with Belgian labor laws." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1053 +msgid "**13**: Suspension for disciplinary reasons." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:611 -msgid "In Odoo, to access the departure process, go to the employee form view and click on :icon:`fa-cog` :guilabel:`(Action)` then :guilabel:`Departure: Notice Period and payslip` or navigate to :menuselection:`Payroll --> Reporting --> Departure: Notice Period`." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1054 +msgid "**14**: Additional vacation days for employment start or resumption." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:615 -msgid "In the wizard that appears, select the reason for departure, provide a description of the departure, and specify the dismissal date. The employee's seniority is calculated based on their contract history, and the notice period is determined accordingly. You can also indicate whether the employee will be working during the notice period." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1055 +msgid "**15**: Flexible vacation days." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Departure Notice Wizard." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1057 +msgid "**Remunerations**: Aggregated by code per occupation:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:623 -msgid "If the employee is working during the notice period, there are no termination fees to calculate, and the notice period will be recorded on the employee's form. Click the :guilabel:`Validate` button." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1059 +msgid "**1**: Regular salary amounts excluding certain indemnities." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:627 -msgid "If the employee is working partially or not at all, the wizard will generate and calculate a termination fees payslip. Click the :guilabel:`Validate & Compute termination fees` button." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1060 +msgid "**2**: Bonuses and similar benefits granted independently of actual working days." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:630 -msgid "The payslip takes into account all the salaries and benefits the employee would have received over the course of a year to calculate a virtual annual remuneration. This amount is then prorated based on the notice period to convert it into a gross salary." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1061 +msgid "**3**: Severance payments expressed in working hours." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:634 -msgid "A detailed summary is provided on the payslip." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1062 +msgid "**7**: Simple vacation pay for exiting employees (subject to contributions)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:0 -msgid "Departure Notice: Termination Fees Payslip 1." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1063 +msgid "**10**: Personal use of a company vehicle and other mobility benefits." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:0 -msgid "Departure Notice: Termination Fees Payslip 2." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1064 +msgid "**11**: Simple vacation pay for exiting employees (not subject to contributions)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:644 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1354 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2118 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2253 -msgid "Conclusion" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1065 +msgid "**12**: Advance vacation pay paid by a previous employer (not subject to contributions)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:646 -msgid "This module simplifies the departure process by providing clear and automatic calculations for the notice period and severance pay. It helps HR teams ensure compliance and streamline the exit process for employees." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1067 +msgid "**Contributions**: Employer and employee contributions, such as:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:653 -msgid "DIMONA" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1069 +msgid "**256**: Asbestos fund contribution." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:656 -msgid "What is the Dimona?" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1070 +msgid "**255**: Special work accident contribution." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:659 -msgid "Obligation" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1071 +msgid "**495**: Total employer + 13.07% employee contribution." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:661 -msgid "All employers, both in the public and private sectors, are required to electronically communicate the entry and exit of their personnel to the National Social Security Office (Royal Decree of November 5, 2002)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1072 +msgid "**809**: Enterprise closure fund contribution." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:665 -msgid "This involves the immediate declaration of employment, also known as DIMONA (Déclaration Immédiate - Onmiddellijke Aangifte). Its purpose is to immediately notify social security institutions of the beginning and end of an employment relationship between the worker and the employer." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1073 +msgid "**810**: Special enterprise closure fund contribution." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:669 -msgid "The declarations submitted by the employer and immediately checked by the NSSO feed into a database called the *personnel file*. The employer can access it in a secure environment. There are numerous search criteria: they can be based on characteristics and combinations of characteristics." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1074 +msgid "**831**: Auxiliary Joint Committee for Employees (CP200) contribution." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:673 -msgid "Failure to comply with this reporting obligation may result in criminal penalties as provided for in Article 181 of the Social Penal Code." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1075 +msgid "**855**: Wage restraint contribution." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:676 -msgid "Furthermore, in case of omission of declaration, the employer will owe the NSSO a solidarity contribution." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1076 +msgid "**856**: Special social security contribution." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:680 -msgid "Concept and terminology" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1077 +msgid "**859**: Temporary unemployment contribution." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:683 -msgid "Employer-worker relationship" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1080 +msgid "Batch declaration" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:685 -msgid "The relationship between the \"employer\" and the \"worker\" couple. This relationship includes stable data (employer identification number, worker's national identification social security number (NISS), start date of the relationship, and optionally end date), which will be maintained even in case of creation, closure, modification, or cancellation of a period. This relationship begins with the worker's first engagement and ends at the end of their last occupation. In the personnel file, \"employer-worker\" relationships constitute the first level of consultation. The second level encompasses all Dimona periods;" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1085 +msgid "Batch declarations require technical knowledge, including SSH keys, SFTP servers, and electronic signatures. Employers should refer to the `official batch documentation `_ and `process overview `_." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:694 -msgid "Dimona period" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1090 +msgid "A batch submission generates three files:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:696 -msgid "A period is created with each IN declaration, thus at the beginning of each new occupation. It is closed by an exit date at the end of each occupation. The employer-worker relationship, on the other hand, is maintained until the end of the last occupation. Several Dimona periods may or may not succeed each other within the same employer-worker relationship." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1092 +msgid "**Declaration file** (e.g., FI.DMFA.112768.20250109.00014.R.1.1)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:701 -msgid "Any changes generated by an OUT declaration, a modification (UPDATE), or a cancellation (CANCEL) occur at this second level." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1093 +msgid "**Launch file** (e.g., GO.DMFA.112768.20250109.00014.R.1)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:704 -msgid "This Dimona period is identified by a \"period identification number\". It is assigned to each IN declaration and constitutes the unique identification key of a period for submitting OUT, modification, or cancellation declarations." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1094 +msgid "**Electronic signature file** (e.g., FS.DMFA.112768.20250109.00014.R.1.1) (only for real declarations, not tests)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:709 -msgid "Dimona number" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1097 +msgid "The full process includes creating, sending, validating, and potentially correcting declarations. Rejections and anomalies must be addressed before final acceptance." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:711 -msgid "A unique number assigned by the NSSO to each Dimona declaration (IN, OUT, UPDATE, CANCEL,...). For an IN declaration, it is the period identification number. When declarations are submitted via file transfer, multiple Dimona numbers are created: one number per employment relationship included in the structured message;" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1103 +msgid "**Creation of the Declaration**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:717 -msgid "Dimona characteristics" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1105 +msgid "Create an XML document containing employee benefit data, remuneration, and contributions for the company." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:719 -msgid "Mandatory data of a Dimona declaration. There are four: the industry sector number, worker type, sub-entity (reserved for certain public sector employers), and user (for temporary workers). Characteristics are always linked to a period. In case of different characteristics, multiple periods can coexist;" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1107 +msgid "More information on XML files can be found in the *Specifications* page." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:725 -msgid "Receipt confirmation" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1109 +msgid "**Sending the Declaration**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:727 -msgid "Confirms for web users that the declaration has been received (appears immediately on the screen);" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1111 +msgid "Use FTP or SFTP for sending the file. Access requires prior authorization for secure zone access by a local manager." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:730 -msgid "Receipt acknowledgment" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1113 +msgid "Detailed instructions are available on the `Introduce and Modify (via batch) `_." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:732 -msgid "Electronic message for batch senders indicating whether the file is usable for the NSSO. This \"receipt acknowledgment\" contains the ticket number (:dfn:`file identification number`) and the file status: accepted or rejected depending on whether the file is readable or not;" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1116 +msgid "**File Acknowledgment Receipt**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:737 -msgid "Notification" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1118 +msgid "**Positive Receipt**: Indicates the file can be processed. However, this does not guarantee acceptance." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:739 -msgid "Electronic message with feedback on the processing of the declaration. The notification is the immediate result of form and content checks. It can be of three types: positive (Dimona accepted), negative (Dimona rejected), or provisional (only in case of problems with worker identification). The provisional notification will always be followed by a positive or negative notification." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1120 +msgid "**Negative Receipt**: Indicates issues with the file structure or access rights." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:744 -msgid "For the declaration of students under a student contract (STU), the notification will also contain a warning if the student is declared for more than 475 hours. If the declaration was made via a secure channel, the exact number of days of excess will be communicated." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1122 +msgid "**Notification and Ticket Number for the Declaration**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:748 -msgid "For the daily declaration of occasional workers in the hospitality industry, the notification will also contain a warning if the worker is declared for more than 50 days and/or for the employer quota, if more than 100 days of occasional work have been declared." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1124 +msgid "A positive notification is sent for each accepted declaration." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:752 -msgid "Once you have received this notification, you have five working days to contest the accuracy of the data mentioned therein. At the end of this period, these data will be considered final. For any disputes, you must contact the Eranova Contact Center (tel: 02 511 51 51, email: contactcenter@eranova.fgov.be)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1125 +msgid "Negative notification: Provides information on encountered anomalies." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:757 -msgid "Note that if the employer is affiliated with an approved social secretariat or a full-service secretariat, they may not receive any notification. In this case, notifications are electronically transmitted to the social secretariat or full-service secretariat, even for declarations that the employer has submitted personally. However, the employer has access to the personnel file, where they can view all data." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1127 +msgid "**Sending PID**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:764 -msgid "Channels" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1129 +msgid "Employers and SSA will receive PID and version numbers via batch for declarations." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:766 -msgid "The Dimona declaration must be submitted in the form of an electronic message via one of the following channels:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1131 +msgid "**Modification Notification with System Corrections**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:769 -msgid "web" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1133 +msgid "If corrections are made, a modification notification is sent with corrected values." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:770 -msgid "personnel file" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1138 +msgid "Double holiday pay" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:771 -msgid "file transfer" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1140 +msgid "Double holiday pay is an additional bonus paid to employees and workers during their annual leave. The amount depends on the employee's or worker's salary." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:772 -msgid "web service (REST)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1144 +msgid "How is double holiday pay calculated?" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:773 -msgid "Dimona Mobile" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1146 +msgid "For employees, double holiday pay amounts to 92% of their gross salary for the month when they take their main annual leave. This amount is calculated based on the number of months worked or considered equivalent in the previous year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:775 -msgid "The choice of one channel over another has no impact on the declaration. Therefore, you can freely choose the channel you will use." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1151 +msgid "Impact of additional or European leave" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:778 -msgid "Any declaration modifications can also be made through any of these four channels. The channel through which the original declaration was submitted plays no role." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1153 +msgid "If you take additional or European leave, your employer will pay you regular holiday pay for that leave. However, the following year, this amount will be deducted from your double holiday pay. This is because additional leave is considered an advance on the next year's legal leave." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:781 -msgid "A Dimona declaration cannot be submitted via SMS." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1158 +msgid "Factors affecting the calculation" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:784 -msgid "Dimona in Odoo" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1160 +msgid "**Months Worked**: The calculation is based on the number of months you worked in the previous year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:787 -msgid "Manual" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1162 +msgid "**Absences**: If you had unpaid absences, they may reduce your double holiday pay." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:789 -msgid "In Odoo, when you have the Belgian Payroll Localization installed, as soon as you have a contract set to the running stage, it creates an activity for the HR responsible that they need to introduce the Dimona for today with the correct link to the Dimona Platform (the web channel mentioned in the Channels section of this article)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1163 +msgid "**Variable Revenues**: Bonuses and commissions earned in the previous year can impact the total amount of double holiday pay." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Dimona Activity." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1165 +msgid "**Withholding Taxes**: The double holiday pay is subject to income tax deductions, which depend on your annual earnings and family situation." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:798 -msgid "Automated" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1169 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1489 +msgid "Withholding tax calculation" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:800 -msgid "In Odoo, when you have the Belgian Payroll Localization installed, it is also possible to install the module Belgium - Payroll - Dimona. This module will allow you to perform the 4 main actions needed in the Dimona (as seen in Section 1 of this article):" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1171 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1491 +msgid "The withholding tax is calculated using a progressive rate system. The process involves:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:804 -msgid "Open the dimona" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1173 +msgid "**Identify the Employee's Annual Taxable Revenue**:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:805 -msgid "Update the dimona" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1175 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1495 +msgid "Compute the annualized salary, including benefits in kind (e.g., company car, internet, mobile phone, laptop)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:806 -msgid "Close the dimona" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1177 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1497 +msgid "Apply reductions for dependent children." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:807 -msgid "Cancel the Dimona" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1179 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1499 +msgid "**Apply Tax Rates**:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:809 -msgid "These actions answer the different use case explained in Section 1." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1181 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1501 +msgid "Use predefined tax brackets to determine the base withholding tax rate." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:812 -msgid "Contract and employee data" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1182 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1502 +msgid "If applicable, apply a reduction based on the number of dependent children." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:814 -msgid "Basically, it checks the contract and employee data needed to create, update, close or cancel." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1185 +#: ../../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 +msgid "Tax brackets" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:817 -msgid "Error handling" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1187 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1507 +msgid "The withholding tax is applied progressively based on the following brackets (as of 2025):" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:819 -msgid "If some information is missing or wrongly configured, the system will return errors and you can take corrective action in order to make sure your Dimona is correctly sent, updated, closed or canceled." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1190 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1510 +msgid "Lower Bound" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:824 -msgid "Synchronization status" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1190 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1510 +msgid "Upper Bound" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:826 -msgid "The status of sync and errors are shown in the chatter of the contract." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1190 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1510 +msgid "Tax Rate" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:829 -msgid "Scheduled action" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1192 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1512 +msgid "0.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:831 -msgid "Finally, the cron checks every day, for all contracts that have the status dimona waiting and triggers the necessary actions to update the dimona status accordingly." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1192 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1512 +msgid "10,415.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:835 -msgid "Technical configuration (outside Odoo)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1192 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1512 +msgid "0.00%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:837 -msgid "Regarding the technical configuration, everything is described in the module information with all the technical prerequisites. If your customer or partner need further assistance with that, they need to contact their IT department or representatives as this is not part of Odoo configuration." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1194 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1514 +msgid "10,415.01" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:842 -msgid "Functional configuration (within Odoo)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1194 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1514 +msgid "13,330.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:844 -msgid "From the Odoo configuration point of view, navigate to :menuselection:`Payroll app --> Configuration --> Settings` and in the :guilabel:`Belgian Localization` section for :guilabel:`ONSS`, configure the following:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1194 +msgid "19.17%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:848 -msgid ":guilabel:`ONSS Company ID`: VAT Number of the Company" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1196 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1516 +msgid "13,330.01" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:849 -msgid ":guilabel:`Registration Number`: 9 digits code received from the NSSO (ONSS - RSZ)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1196 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1516 +msgid "16,960.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:850 -msgid ":guilabel:`DMFA Employer Class`: 3 digits code received from the NSSO (ONSS - RSZ)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1196 +msgid "21.20%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:851 -msgid ":guilabel:`Expeditor Number ONSS`: Not Mandatory (see technical documentation of the module for more information)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1198 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1518 +msgid "16,960.01" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:853 -msgid ":guilabel:`PEM Certificate`, :guilabel:`PEM Passphare`, :guilabel:`KEY file`: check the module information for explanation" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1198 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1518 +msgid "20,340.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:859 -msgid "DmfA - Multifunctional Declaration" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1198 +msgid "26.25%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:864 -msgid "DmfA stands for \"Déclaration Multifonctionnelle\" or \"Multifunctionele Aangifte.\" It has replaced the quarterly ONSS declaration since the first quarter of 2003. Through this declaration, employers submit salary and working time data for their employees." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1200 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1520 +msgid "20,340.01" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:868 -msgid "These data are processed in a way that allows all social security institutions to work with the same information. The declaration is called \"multifunctional\" because it is used not only for social security contribution calculations and reductions but also as a data source for institutions managing social security rights and benefits." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1200 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1520 +msgid "23,020.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:873 -msgid "Sectors utilizing DmfA data include:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1200 +msgid "31.30%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:875 -msgid "Health insurance" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1202 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1522 +msgid "23,020.01" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:876 -msgid "Unemployment benefits" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1202 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1522 +msgid "25,710.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:877 -msgid "Pensions" -msgstr "" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1202 +msgid "34.33%" +msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:878 -msgid "Occupational risks (Fedris)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1204 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1524 +msgid "25,710.01" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:879 -msgid "Family allowances" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1204 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1304 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1524 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1624 +msgid "31,070.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:880 -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:89 -msgid "Annual leave" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1204 +msgid "36.34%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:882 -msgid "All employers registered with ONSS must submit a DmfA declaration." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1206 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1526 +msgid "31,070.01" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:885 -msgid "Relationship with Dimona and DRS" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1206 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1526 +msgid "33,810.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:887 -msgid "DmfA is closely linked to two other mandatory declarations:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1206 +msgid "39.37%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:890 -msgid "Dimona (immediate declaration)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1208 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1528 +msgid "33,810.01" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:892 -msgid "Dimona records the start and end of an employment relationship with an employee." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1208 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1528 +msgid "44,770.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:895 -msgid "DRS (social risks declaration)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1208 +msgid "42.39%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:897 -msgid "During an employment relationship, various social risks may arise, such as termination, workplace accidents, or long-term illness. When a social risk occurs, social security institutions require additional information beyond that provided by DmfA and Dimona." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1210 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1530 +msgid "44,770.01" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:901 -msgid "DRS is now primarily an electronic declaration, though paper submissions remain possible." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1210 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1212 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1530 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1532 +msgid "58,460.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:904 -msgid "Who submits the DmfA declaration?" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1210 +msgid "47.44%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:907 -msgid "Self-declaration options" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1212 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1532 +msgid "∞" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:909 -msgid "Employers can submit their DmfA declaration themselves via:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1212 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1532 +msgid "53.50%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:911 -msgid "**Web Submission:** Suitable for employers with a small workforce. Declarations are entered directly through the social security portal." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1216 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1536 +msgid "Tax exemption" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:913 -msgid "**Batch Submission:** Designed for large employers or organizations handling multiple declarations (e.g., social secretariats, payroll software providers). Declarations are submitted via file transfer (FTP, SFTP, etc.)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1218 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1538 +msgid "A withholding tax exemption is granted when the normal annual gross income does not exceed a specific threshold, which is determined based on the number of dependent children [2]." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:918 -msgid "Advantages of web submission" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1221 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1541 +msgid "A disabled dependent child counts as two." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:920 -msgid "**Automatic access to the company's employee list**: Based on Dimona data. If an employee is missing, they must first be declared via Dimona. After 24 hours, the employee list is updated, allowing for an accurate DmfA submission." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1223 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1543 +msgid "The method involves referring to a two-column table:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:923 -msgid "**Automatic calculation of net payable amount**: Once all required data is entered, the system calculates the total payable amount." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1225 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1545 +msgid "**Column 1**: Indicates the number of dependent children." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:925 -msgid "**Reduction calculations**: The system calculates applicable reductions, except for reductions under code \"0001\" (personal contribution reductions for low-income workers). Employers need to check the relevant boxes and, if necessary, provide additional details." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1226 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1546 +msgid "**Column 2**: Specifies the maximum allowable normal annual gross income, based on the number of dependent children listed in Column 1, which must not be exceeded to qualify for full or partial exemption from withholding tax." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:930 -msgid "Advantages of batch submission" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1230 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1550 +msgid "After determining the annual gross income, two scenarios may arise:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:932 -msgid "**Submission of large volumes of declarations**: Ideal for organizations managing multiple payrolls." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1232 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1552 +msgid "If the annual income exceeds the threshold, no exemption is granted." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:934 -msgid "**Quick response on acceptance status**: Employers receive immediate feedback on whether their declaration has been accepted." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1233 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1553 +msgid "If the annual income does not exceed the threshold, an exemption will be applied." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:936 -msgid "**Error reporting**: The system generates a report on detected anomalies, regardless of acceptance status." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1235 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1555 +msgid "The amount of this exemption corresponds to the difference between the annual gross income and the threshold amount." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:938 -msgid "**Automatic correction of calculation errors**: When possible, errors are corrected automatically, and employers are notified of adjustments." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1238 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1558 +msgid "Of course, if this difference exceeds the base withholding tax amount, no withholding tax will be due." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:942 -msgid "Third-Party submission options" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1242 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1298 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1562 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1618 +msgid "No. of Children" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:944 -msgid "Employers who do not wish to submit the DmfA themselves can delegate the task to:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1242 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1562 +msgid "Max Revenue (EUR)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:946 -msgid "**Accredited Social Secretariats**: These organizations handle payroll and declaration tasks on behalf of employers." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1244 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1564 +msgid "18,400.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:948 -msgid "**Service Providers**: These may be companies or individuals with whom the employer has a contractual agreement to manage payroll declarations securely." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1246 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1566 +msgid "21,930.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:951 -msgid "For more information on accredited social secretariats or service providers, please refer to the relevant `official DmfA documentation `_." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1248 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1568 +msgid "28,270.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:958 -msgid "The declaration is generated under :menuselection:`Payroll app --> Reporting --> Belgium --> DmfA` as is supposed to work properly after several required configuration steps." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1250 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1570 +msgid "35,330.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:962 -msgid "Company" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1252 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1572 +msgid "42,390.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:964 -msgid "To generate a valid DmfA declaration, specific company and employer-related information is required, (under :menuselection:`Payroll app --> Configuration --> Settings`). These include:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1254 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1574 +msgid "49,450.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:967 -msgid ":guilabel:`ONSS Company ID`" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1256 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1576 +msgid "56,510.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:968 -msgid ":guilabel:`ONSS Registration Number`" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1258 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1578 +msgid "63,570.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:969 -msgid ":guilabel:`DMFA Employer Class`" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1260 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1580 +msgid "70,630.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:970 -msgid ":guilabel:`ONSS Certificate`: certificate for signature file generation (required for batch declarations)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1262 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1582 +msgid "77,690.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:972 -msgid "VAT :guilabel:`Company Number`" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1264 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1584 +msgid "84,750.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:973 -msgid ":guilabel:`Revenue Code`" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1266 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1586 +msgid "91,810.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:974 -msgid ":guilabel:`FFE Employer Type` (Fonds de Fermeture d'Entreprise)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1270 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1590 +msgid "Tax reductions" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:979 -msgid "Additionally, each employee must be assigned to a valid working address, identified with a DmfA code, in their employee record. This operating unit must be linked to a valid ONSS identification number to ensure compliance with declaration requirements. Failing to configure this properly may result in errors during the declaration submission process." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1272 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1592 +msgid "When there is no justification for fully or partially exempting the exceptional allowance from withholding tax, it is still possible to grant a reduction in withholding tax." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:984 -msgid "On the employee form, the :guilabel:`Work Address` must be defined." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1275 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1595 +msgid "To determine eligibility for this reduction, one must check whether the normal annual gross salary exceeds a certain higher threshold, which varies according to the number of dependent children [3]. This threshold is higher than the one used for exemption purposes." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:986 -msgid "Under :menuselection:`Payroll app --> Configuration --> DMFA: Work Locations`, you can link the work address to a ONSS identification number." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1279 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1599 +msgid "A disabled child counts as two." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "DmfA - Work Location ONSS ID." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1281 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1601 +msgid "The method involves referring to a three-column table:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:993 -msgid "Work entry type" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1283 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1603 +msgid "**Column 1**: Indicates the number of dependent children (up to a maximum of 5)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:995 -msgid "A DmfA code should be defined for each work entry type that is declared. Under :menuselection:`Payroll app --> Configuration --> Work Entries --> Work Entry Types`, specify the :guilabel:`DMFA code`." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1284 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1604 +msgid "**Column 2**: Specifies the percentage reduction in withholding tax, based on the number of dependent children listed in Column 1, which must not be exceeded to qualify for the reduction." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1000 -msgid "Potential configuration errors" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1286 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1606 +msgid "**Column 3**: Shows the threshold amount that must not be exceeded, corresponding to the number of dependent children listed in Column 1." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1002 -msgid "During the declaration generation process, configuration issues may arise, triggering errors such as:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1289 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1609 +msgid "Two scenarios may arise:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1005 -msgid "Terminated employees without or with invalid start/end notice period" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1291 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1611 +msgid "If the threshold amount is exceeded, no reduction will be granted." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1006 -msgid "Invalid NISS number for some employees" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1292 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1612 +msgid "If the threshold amount is not exceeded, a reduction will be applied to the withholding tax amount, up to a percentage rate determined in Column 2." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1007 -msgid "Work addresses not linked to an ONSS identification code" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1295 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1615 +msgid "For employees with dependent children, tax reductions apply as follows:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1008 -msgid "Work entry type missing a corresponding DmfA code" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1298 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1618 +msgid "Reduction (%)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1009 -msgid "Other inconsistencies in employer or employee records" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1298 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1618 +msgid "Max Revenue" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1011 -msgid "Employers should ensure accurate configuration to avoid delays and rejection of their declarations." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1300 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1620 +msgid "7.5%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1014 -msgid "Web declaration" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1300 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1302 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1620 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1622 +msgid "28,245.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "DmfA - Web Declaration." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1302 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1622 +msgid "20.0%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1019 -msgid "A web declaration generates a PDF summarizing the company's general information, as well as all employee data that must be manually entered into the system. This includes:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1304 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1624 +msgid "35.0%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1022 -msgid "For the company:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1306 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1626 +msgid "55.0%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "DmfA - PDF Company." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1306 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1626 +msgid "36,720.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1027 -msgid "For a specific employee:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1308 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1628 +msgid "5+" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "DmfA - PDF Employee." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1308 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1628 +msgid "75.0%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1032 -msgid "**Occupations**: Work schedules, part-time codes, parental leave, exploitation unit, reference working hours." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1308 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1628 +msgid "39,550.00" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1034 -msgid "**Services**: Aggregated work performance (in days and hours) for the quarter, categorized by occupation and type. The codification of working time in the DmfA declaration ensures accurate reporting of employee activities. Each code corresponds to a specific type of working time or absence. For a complete and detailed list of codes, please refer to the official social security website: `socialsecurity.be `_" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1312 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1632 +msgid "Final tax calculation" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1040 -msgid "**1**: All performances covered by a salary subject to ONSS contributions, excluding legal and additional vacation for workers." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1314 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1634 +msgid "The final withholding tax amount is:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1042 -msgid "**2**: Legal vacation days for workers." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1316 +msgid "\\text{Tax} = \\text{Gross Double Holiday} \\times \\text{Applicable Tax Rate} -\n" +"\\text{Reduction (if applicable)}" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1043 -msgid "**3**: Additional vacation days for workers." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1322 +msgid "The resulting tax is deducted from the gross double holiday salary to determine the net amount payable to the employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1044 -msgid "**4**: Compensatory rest days." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1325 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1645 +msgid "The calculation considers work duration, absences, variable revenue, and applicable withholding taxes. Odoo automates these calculations to ensure compliance with Belgian labor laws and tax regulations." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1045 -msgid "**5**: Days of illness or non-occupational accident." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1330 +msgid "Generate a batch in Odoo" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1046 -msgid "**6**: Family leave days." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1332 +msgid "Navigate to :menuselection:`Payroll App --> Payslips --> Batches` and create a new record with valid dates (here december 2024)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1047 -msgid "**7**: Maternity or paternity leave days." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1335 +msgid "Then click the **Generate Payslips** button, select the CP200 salary structure type and the Thirteen Month salary structure. You can also filter eligible employees by department and / or job position." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1048 -msgid "**8**: Strike days." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Double Holiday Batch Wizard." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1049 -msgid "**9**: Temporary unemployment for economic reasons." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1342 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1663 +msgid "Once validated, a payslip is generated for each employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1050 -msgid "**10**: Temporary unemployment for bad weather." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Double Holiday Payslips." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1051 -msgid "**11**: Temporary unemployment for force majeure." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1347 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1668 +msgid "You can now check the different payslips before validation. Once validated, the PDF files are generated and posted on employee portals as for classic payslips." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1052 -msgid "**12**: Professional training days." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Double Holiday PDF." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1053 -msgid "**13**: Suspension for disciplinary reasons." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1356 +msgid "Double holiday pay is a significant benefit that rewards employees for their work in the previous year. Understanding how it is calculated helps in better financial planning for the holiday period." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1054 -msgid "**14**: Additional vacation days for employment start or resumption." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1362 +msgid "Eco vouchers" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1055 -msgid "**15**: Flexible vacation days." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1367 +msgid "Eco vouchers are a tax-free employee benefit designed to support the purchase of environmentally-friendly products and services. These vouchers are ordered via external providers and are exempt from social security contributions." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1057 -msgid "**Remunerations**: Aggregated by code per occupation:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1372 +msgid "Eligibility & allocation" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1059 -msgid "**1**: Regular salary amounts excluding certain indemnities." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1374 +msgid "Employees who have worked during the **reference period (01/06/N-1 - 31/05/N)** are eligible for up to **250€** in eco vouchers, which are granted at the beginning of **July**." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1060 -msgid "**2**: Bonuses and similar benefits granted independently of actual working days." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1378 +msgid "For 2025, employees must have worked between **01/06/2024 and 31/05/2025** to qualify." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1061 -msgid "**3**: Severance payments expressed in working hours." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1380 +msgid "For employees who join during the reference period, the voucher amount is prorated based on their worked days." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1062 -msgid "**7**: Simple vacation pay for exiting employees (subject to contributions)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1384 +msgid "An employee hired on **06/01**, having worked **6 out of 12 months**, would receive:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1063 -msgid "**10**: Personal use of a company vehicle and other mobility benefits." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1386 +msgid "250\\text{€} \\times (6/12) = 125\\text{€}" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1064 -msgid "**11**: Simple vacation pay for exiting employees (not subject to contributions)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1391 +msgid "For part-time employees, the amount is adjusted as follows:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1065 -msgid "**12**: Advance vacation pay paid by a previous employer (not subject to contributions)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1396 +msgid "Work Regime" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1067 -msgid "**Contributions**: Employer and employee contributions, such as:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1397 +msgid "Voucher Amount (€)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1069 -msgid "**256**: Asbestos fund contribution." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1398 +msgid "4/5" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1070 -msgid "**255**: Special work accident contribution." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1399 +msgid "250€" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1071 -msgid "**495**: Total employer + 13.07% employee contribution." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1400 +msgid "3/5" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1072 -msgid "**809**: Enterprise closure fund contribution." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1401 +msgid "200€" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1073 -msgid "**810**: Special enterprise closure fund contribution." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1402 +msgid "1/2" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1074 -msgid "**831**: Auxiliary Joint Committee for Employees (CP200) contribution." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1403 +msgid "125€" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1075 -msgid "**855**: Wage restraint contribution." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1404 +msgid "< 1/2" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1076 -msgid "**856**: Special social security contribution." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1405 +msgid "100€" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1077 -msgid "**859**: Temporary unemployment contribution." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1408 +msgid "If an employee starts on **1st September** in **full-time** and then switches to **half-time** on **1st April 2024**, the calculation will be:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1080 -msgid "Batch declaration" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1411 +msgid "250\\text{€} \\times (7/12) + 125\\text{€} \\times (2/12) = 166\\text{€}" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1085 -msgid "Batch declarations require technical knowledge, including SSH keys, SFTP servers, and electronic signatures. Employers should refer to the `official batch documentation `_ and `process overview `_." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1417 +msgid "Exceptions & adjustments" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1090 -msgid "A batch submission generates three files:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1419 +msgid "If an employee worked full-time for the entire reference period but did not receive **250€**, certain non-assimilated leave days may have affected the calculation." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1092 -msgid "**Declaration file** (e.g., FI.DMFA.112768.20250109.00014.R.1.1)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1422 +msgid "The following leave types are **not** considered for eco-voucher entitlement:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1093 -msgid "**Launch file** (e.g., GO.DMFA.112768.20250109.00014.R.1)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1424 +msgid "**Unpaid leaves**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1094 -msgid "**Electronic signature file** (e.g., FS.DMFA.112768.20250109.00014.R.1.1) (only for real declarations, not tests)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1425 +msgid "**Sick leave compensated by mutual insurance** (after 30 days of work incapacity)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1097 -msgid "The full process includes creating, sending, validating, and potentially correcting declarations. Rejections and anomalies must be addressed before final acceptance." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1428 +msgid "Usage & validity" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1103 -msgid "**Creation of the Declaration**" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1430 +msgid "Eco vouchers are valid for **24 months** from the date of issuance." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1105 -msgid "Create an XML document containing employee benefit data, remuneration, and contributions for the company." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1433 +msgid "The list of eligible products and services that can be purchased with eco vouchers is available here:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1107 -msgid "More information on XML files can be found in the *Specifications* page." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1436 +msgid "`Eco-Voucher Eligible Products `_" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1109 -msgid "**Sending the Declaration**" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1441 +msgid "End of year bonus" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1111 -msgid "Use FTP or SFTP for sending the file. Access requires prior authorization for secure zone access by a local manager." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1443 +msgid "This document explains the calculation of the thirteenth-month salary (year-end bonus) in Belgium within Odoo. The calculation considers the employee's contracts, working time rates, and applicable taxes." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1113 -msgid "Detailed instructions are available on the `Introduce and Modify (via batch) `_." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1448 +msgid "Calculation of the thirteenth-month salary" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1116 -msgid "**File Acknowledgment Receipt**" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1451 +msgid "Eligibility criteria" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1118 -msgid "**Positive Receipt**: Indicates the file can be processed. However, this does not guarantee acceptance." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1453 +msgid "The employee must have worked for at least **six complete months** in the year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1120 -msgid "**Negative Receipt**: Indicates issues with the file structure or access rights." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1454 +msgid "Both full-time and part-time employees are eligible, with prorated calculations based on work time." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1122 -msgid "**Notification and Ticket Number for the Declaration**" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1458 +msgid "Salary calculation" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1124 -msgid "A positive notification is sent for each accepted declaration." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1460 +msgid "The thirteenth-month salary is computed as follows:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1125 -msgid "Negative notification: Provides information on encountered anomalies." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1462 +msgid "**Determine the basic salary**:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1127 -msgid "**Sending PID**" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1464 +msgid "Retrieve the employee's contractual wage." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1129 -msgid "Employers and SSA will receive PID and version numbers via batch for declarations." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1465 +msgid "Identify the applicable work rate." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1131 -msgid "**Modification Notification with System Corrections**" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1467 +msgid "**Compute eligible months**:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1133 -msgid "If corrections are made, a modification notification is sent with corrected values." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1469 +msgid "If explicitly provided (`MONTHS` input), use the given number of months." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1138 -msgid "Double holiday pay" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1470 +msgid "Otherwise, calculate the number of complete months worked." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1140 -msgid "Double holiday pay is an additional bonus paid to employees and workers during their annual leave. The amount depends on the employee's or worker's salary." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1471 +msgid "Prorate the salary for partial-year work." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1144 -msgid "How is double holiday pay calculated?" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1473 +msgid "**Adjust for absences**:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1146 -msgid "For employees, double holiday pay amounts to 92% of their gross salary for the month when they take their main annual leave. This amount is calculated based on the number of months worked or considered equivalent in the previous year." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1475 +msgid "Deduct unpaid absences to obtain the presence prorata." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1151 -msgid "Impact of additional or European leave" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1476 +msgid "Consider up to 60 days of sick leave as paid time off." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1153 -msgid "If you take additional or European leave, your employer will pay you regular holiday pay for that leave. However, the following year, this amount will be deducted from your double holiday pay. This is because additional leave is considered an advance on the next year's legal leave." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1478 +msgid "**Include variable revenues**:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1158 -msgid "Factors affecting the calculation" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1480 +msgid "If explicitly provided (`VARIABLE` input), use the given value." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1160 -msgid "**Months Worked**: The calculation is based on the number of months you worked in the previous year." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1481 +msgid "Otherwise, calculate the average variable revenue over the last year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1162 -msgid "**Absences**: If you had unpaid absences, they may reduce your double holiday pay." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1483 +msgid "**Final amount**:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1163 -msgid "**Variable Revenues**: Bonuses and commissions earned in the previous year can impact the total amount of double holiday pay." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1485 +msgid "The final thirteenth-month amount is the sum of the prorated fixed salary and average variable revenues." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1165 -msgid "**Withholding Taxes**: The double holiday pay is subject to income tax deductions, which depend on your annual earnings and family situation." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1493 +msgid "**Identify the employee's annual taxable revenue**:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1169 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1489 -msgid "Withholding tax calculation" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1514 +msgid "23.22%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1171 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1491 -msgid "The withholding tax is calculated using a progressive rate system. The process involves:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1516 +msgid "25.23%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1173 -msgid "**Identify the Employee's Annual Taxable Revenue**:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1518 +msgid "30.28%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1175 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1495 -msgid "Compute the annualized salary, including benefits in kind (e.g., company car, internet, mobile phone, laptop)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1520 +msgid "35.33%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1177 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1497 -msgid "Apply reductions for dependent children." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1522 +msgid "38.36%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1179 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1499 -msgid "**Apply Tax Rates**:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1524 +msgid "40.38%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1181 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1501 -msgid "Use predefined tax brackets to determine the base withholding tax rate." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1526 +msgid "43.41%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1182 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1502 -msgid "If applicable, apply a reduction based on the number of dependent children." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1528 +msgid "46.44%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1185 -#: ../../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:96 -msgid "Tax brackets" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1530 +msgid "51.48%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1187 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1507 -msgid "The withholding tax is applied progressively based on the following brackets (as of 2025):" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1636 +msgid "\\text{Tax} = \\text{Gross Thirteenth Month} \\times \\text{Applicable Tax Rate} -\n" +"\\text{Reduction (if applicable)}" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1190 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1510 -msgid "Lower Bound" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1642 +msgid "The resulting tax is deducted from the gross thirteenth-month salary to determine the net amount payable to the employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1190 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1510 -msgid "Upper Bound" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1652 +msgid "Navigate to :menuselection:`Payroll app --> Payslips --> Batches` and create a new record with valid dates (here december 2024)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1190 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1510 -msgid "Tax Rate" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1655 +msgid "Then click the :guilabel:`Generate Payslips` button, select the :guilabel:`CP200: Belgian Employee` :guilabel:`Salary Structure Type` and the :guilabel:`CP200: Employees 13th Month` :guilabel:`Salary Structure`. You can also filter eligible employees by :guilabel:`Department` and / or :guilabel:`Job Position`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1192 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1512 -msgid "0.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "End of Year Bonus Batch Wizard." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1192 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1512 -msgid "10,415.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "End of Year Bonus Payslips." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1192 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1512 -msgid "0.00%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "End of Year Bonus PDF." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1194 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1514 -msgid "10,415.01" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1677 +msgid "Holiday pay recovery" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1194 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1514 -msgid "13,330.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1679 +msgid "This document explains how Odoo calculates the recovery of holiday pay (both simple and double) for employees in Belgium who have changed employers. When an employee moves from one company to another, their previous employer may have already paid their holiday pay for the previous year. This amount needs to be recovered by the new employer, and this guide outlines how this is managed in Odoo." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1194 -msgid "19.17%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1685 +msgid "Understanding holiday pay in Belgium" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1196 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1516 -msgid "13,330.01" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1687 +msgid "In Belgium, employees are entitled to annual leave and corresponding holiday pay, which consists of:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1196 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1516 -msgid "16,960.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1689 +msgid "**Simple holiday pay**: Regular salary payments for the days of leave taken." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1196 -msgid "21.20%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1690 +msgid "**Double holiday pay**: An additional payment, typically equal to approximately 92% of the gross monthly salary, given when employees take their annual leave." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1198 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1518 -msgid "16,960.01" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1693 +msgid "When an employee changes jobs, their previous employer may have already paid these amounts. To avoid double payment, the new employer needs to recover the amounts already paid." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1198 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1518 -msgid "20,340.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1697 +msgid "Recovery of simple holiday pay" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1198 -msgid "26.25%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1699 +msgid "The recovery of simple holiday pay in Odoo is based on the following criteria:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1200 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1520 -msgid "20,340.01" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1701 +msgid "The recovery applies if the employee has taken leave in the current year and their previous employer already paid the holiday pay." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1200 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1520 -msgid "23,020.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1703 +msgid "The calculation considers the number of leave days taken and the hours worked per week." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1200 -msgid "31.30%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1704 +msgid "The recovery process is split into:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1202 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1522 -msgid "23,020.01" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1706 +msgid "**Year N**: The current year's holiday pay recovery." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1202 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1522 -msgid "25,710.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1707 +msgid "**Year N-1**: The recovery of holiday pay from the previous year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1202 -msgid "34.33%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1709 +msgid "The system checks:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1204 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1524 -msgid "25,710.01" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1711 +msgid "If the employee's first contract date with the company was in the previous year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1204 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1304 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1524 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1624 -msgid "31,070.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1712 +msgid "If the employee has a pending holiday pay recovery amount." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1204 -msgid "36.34%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1713 +msgid "If the recovery has not already been processed." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1206 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1526 -msgid "31,070.01" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1714 +msgid "If the employee has taken annual leave." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1206 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1526 -msgid "33,810.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1716 +msgid "If all conditions are met, Odoo calculates the amount to be deducted from the payroll to account for the holiday pay already received from the previous employer." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1206 -msgid "39.37%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1720 +msgid "Recovery of double holiday pay" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1208 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1528 -msgid "33,810.01" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1722 +msgid "The recovery of double holiday pay follows these steps:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1208 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1528 -msgid "44,770.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1724 +msgid "The system verifies the employee's contract and determines their employment duration." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1208 -msgid "42.39%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1725 +msgid "The gross salary is calculated based on the employee's contract." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1210 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1530 -msgid "44,770.01" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1726 +msgid "The number of months worked in the previous year is identified." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1210 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1212 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1530 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1532 -msgid "58,460.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1727 +msgid "A threshold amount is computed as follows:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1210 -msgid "47.44%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1729 +msgid "\\text{Threshold} = \\text{Current monthly salary} \\times \\text{Months worked in previous year}\n" +"\\times \\text{Occupation rate} \\times 7.67%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1212 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1532 -msgid "∞" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1735 +msgid "If the amount on the holiday certificate from the previous employer is lower than this threshold, no limit applies." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1212 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1532 -msgid "53.50%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1738 +msgid "The system recovers the lower of:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1216 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1536 -msgid "Tax exemption" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1740 +msgid "The calculated threshold." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1218 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1538 -msgid "A withholding tax exemption is granted when the normal annual gross income does not exceed a specific threshold, which is determined based on the number of dependent children [2]." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1741 +msgid "The actual amount paid by the previous employer." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1221 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1541 -msgid "A disabled dependent child counts as two." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1743 +msgid "If the employee has worked for more than 12 months in the current company, no double holiday pay needs to be recovered." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1223 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1543 -msgid "The method involves referring to a two-column table:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1747 +msgid "How to configure in Odoo" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1225 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1545 -msgid "**Column 1**: Indicates the number of dependent children." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1749 +msgid "In the employee form view, under the :guilabel:`Settings` tab, you can enter the various amounts from holiday attests provided by the new employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1226 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1546 -msgid "**Column 2**: Specifies the maximum allowable normal annual gross income, based on the number of dependent children listed in Column 1, which must not be exceeded to qualify for full or partial exemption from withholding tax." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Holiday Pay Recovery Configuration." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1230 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1550 -msgid "After determining the annual gross income, two scenarios may arise:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1755 +msgid "For simple holiday pay recovery, you need to enter:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1232 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1552 -msgid "If the annual income exceeds the threshold, no exemption is granted." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1757 +msgid "The :guilabel:`Number of days` for paid leave" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1233 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1553 -msgid "If the annual income does not exceed the threshold, an exemption will be applied." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1758 +msgid "The :guilabel:`Amount to recover` by the employee" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1235 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1555 -msgid "The amount of this exemption corresponds to the difference between the annual gross income and the threshold amount." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1761 +msgid "The :guilabel:`Recovered Amount` field displays the amount already recovered." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1238 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1558 -msgid "Of course, if this difference exceeds the base withholding tax amount, no withholding tax will be due." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1763 +msgid "For double holiday pay recovery, you must enter a **line for each employer's holiday attest**. Each line should include:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1242 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1298 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1562 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1618 -msgid "No. of Children" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1766 +msgid "The :guilabel:`# Months` (number of months) the employee worked for that employer" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1242 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1562 -msgid "Max Revenue (EUR)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1767 +msgid "The :guilabel:`Amount` provided to the employee" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1244 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1564 -msgid "18,400.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1768 +msgid "The :guilabel:`Occupational Rate`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1246 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1566 -msgid "21,930.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1770 +msgid "Odoo uses this data to compute a **recovery limit**. If the employee now has a lower salary, the full amount cannot be recovered." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1248 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1568 -msgid "28,270.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1774 +msgid "Be careful not to mix holiday attests for the current year (N) and the previous year (N-1)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1250 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1570 -msgid "35,330.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1776 +msgid "For simple holiday pay recovery, the system deducts the amount from each legal time-off period until:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1252 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1572 -msgid "42,390.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1779 +msgid "The **total amount** has been fully recovered, or" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1254 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1574 -msgid "49,450.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1780 +msgid "The **number of time-off days** has been matched (if the employee's current salary is lower than before)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1256 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1576 -msgid "56,510.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Holiday Pay Recovery Simple Payslip." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1258 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1578 -msgid "63,570.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1786 +msgid "Once the **payslip** is validated and paid, the recovered simple holiday pay is reflected in the employee form view." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1260 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1580 -msgid "70,630.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Holiday Pay Recovery Simple Amount." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1262 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1582 -msgid "77,690.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1792 +msgid "On the double holiday payslip, click :guilabel:`Compute Double Pay Recovery` to open a wizard that helps calculate the recoverable amount." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1264 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1584 -msgid "84,750.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1795 +msgid "In the :guilabel:`Double Pay Recovery Computation` wizard, you'll find:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1266 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1586 -msgid "91,810.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1797 +msgid "The relevant holiday attests listed in the :guilabel:`Occupation Lines`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1270 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1590 -msgid "Tax reductions" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1798 +msgid "The :guilabel:`Double Pay To Recover` amount based on the threshold" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1272 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1592 -msgid "When there is no justification for fully or partially exempting the exceptional allowance from withholding tax, it is still possible to grant a reduction in withholding tax." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1800 +msgid "This amount is **editable** if manual adjustments are needed." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1275 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1595 -msgid "To determine eligibility for this reduction, one must check whether the normal annual gross salary exceeds a certain higher threshold, which varies according to the number of dependent children [3]. This threshold is higher than the one used for exemption purposes." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Holiday Pay Recovery Double Wizard." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1279 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1599 -msgid "A disabled child counts as two." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1805 +msgid "Once validated, the double pay recovery is applied to the payslip." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Holiday Pay Recovery Double Amount." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1810 +msgid "Odoo automates the recovery of both **simple** and **double** holiday pay, ensuring compliance with **Belgian labor laws**. By analyzing contract details, employment duration, and past payments, Odoo calculates the necessary deductions and prevents duplicate holiday pay payments." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1817 +msgid "Individual accounts" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1820 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1973 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2132 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2316 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2842 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3064 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3134 +msgid "Introduction" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1822 +msgid "The individual account provides workers with a detailed overview of their earnings, deductions (such as social security contributions, withholding tax, etc.), and the working days performed, on a pay period basis. Additionally, it contains all relevant administrative data related to remuneration." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1828 +msgid "Required information in the individual account" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1830 +msgid "The individual account must include several mandatory details as determined by Royal Decree." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1832 +msgid "**Employer identification:**" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1834 +msgid "Name, address, ONSS number, ONVA number" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1835 +msgid "Relevant joint committee (or sub-committee)" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1836 +msgid "Name of the holiday fund for workers" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1837 +msgid "Insurer for work-related accidents" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1838 +msgid "Approved social secretariat" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1839 +msgid "Relevant affiliation numbers" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1841 +msgid "**Worker identification:**" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1843 +msgid "Name, address, date of birth, gender, tax status" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1844 +msgid "Type of employment contract, job title, professional qualification" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1845 +msgid "Workplace location (or note if working at multiple locations)" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1846 +msgid "Start and end date of employment" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1847 +msgid "Employee ID number, starting salary" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1848 +msgid "Remuneration components and payment periodicity" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1850 +msgid "**Remuneration components:**" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1852 +msgid "Per pay period (daily, weekly, bi-weekly, or monthly):" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1854 +msgid "Number of working days and hours (regular, additional, and overtime)" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1855 +msgid "Days of work interruption and reasons (illness, vacations, public holidays, replacement days, compensatory rest days, etc.)" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1857 +msgid "Fixed or hourly salary, variable remuneration, bonuses, meal vouchers, eco vouchers, holiday pay (including early holiday pay if applicable), severance pay, year-end bonuses (as per sectoral or other collective labor agreements), benefits in kind and their estimated value" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1860 +msgid "Gross amount of all remuneration components" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1861 +msgid "Amounts subject to social and tax deductions" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1862 +msgid "Various social and tax deductions: personal ONSS contributions, withholding tax, special social security contributions" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1864 +msgid "Net amount payable to the worker" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1865 +msgid "Other payments made by the employer, including reimbursement of travel expenses, allowances, and other payments" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1868 +msgid "Per quarter:" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1870 +msgid "Number of actual working days" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1871 +msgid "Days of work interruption by reason" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1872 +msgid "Total remuneration subject to social security contributions" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1873 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1878 +msgid "Employee social security contribution amounts" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1875 +msgid "Per year:" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1877 +msgid "Total amounts subject to social security contributions" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1879 +msgid "Taxable remuneration and other amounts" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1880 +msgid "Withholding tax amount" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1883 +msgid "Responsibility for establishing and updating the individual account" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1885 +msgid "Belgian employers using **Odoo Payroll** can generate the individual accounts of their workers." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1887 +msgid "However, to ensure accurate record-keeping, employers must:" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1889 +msgid "Ensure payment of sector-mandated year-end bonuses" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1890 +msgid "Ensure that all public holidays, legal vacation days, and compensatory rest days are taken before the end of the year" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1892 +msgid "Plan collective vacation and replacement public holidays in advance" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1893 +msgid "Pay workers their holiday pay (including early holiday pay if applicable)" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1894 +msgid "Distribute due eco vouchers" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1895 +msgid "Pay any required travel expenses between home and work" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1897 +msgid "If these obligations are met, the corresponding data will be included in the individual account." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1281 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1601 -msgid "The method involves referring to a three-column table:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1900 +msgid "Storage and retention period of the individual account" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1283 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1603 -msgid "**Column 1**: Indicates the number of dependent children (up to a maximum of 5)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1902 +msgid "The individual account is a social document that must be kept by the employer for a specified period after its creation." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1284 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1604 -msgid "**Column 2**: Specifies the percentage reduction in withholding tax, based on the number of dependent children listed in Column 1, which must not be exceeded to qualify for the reduction." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1905 +msgid "Employers may store individual accounts:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1286 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1606 -msgid "**Column 3**: Shows the threshold amount that must not be exceeded, corresponding to the number of dependent children listed in Column 1." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1907 +msgid "At the ONSS-registered address" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1289 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1609 -msgid "Two scenarios may arise:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1908 +msgid "At a workplace" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1291 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1611 -msgid "If the threshold amount is exceeded, no reduction will be granted." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1909 +msgid "At their home or registered office if located in Belgium; otherwise, at the residence of a designated agent in Belgium" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1292 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1612 -msgid "If the threshold amount is not exceeded, a reduction will be applied to the withholding tax amount, up to a percentage rate determined in Column 2." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1911 +msgid "At the office of the approved social secretariat, if affiliated" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1295 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1615 -msgid "For employees with dependent children, tax reductions apply as follows:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1913 +msgid "Records must be kept legible and in a format allowing efficient oversight. The retention period is **five years** from the end of the annual closing of the account." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1298 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1618 -msgid "Reduction (%)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1917 +msgid "When must workers receive a copy of their individual account?" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1298 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1618 -msgid "Max Revenue" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1919 +msgid "Each worker must receive a copy of their individual account:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1300 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1620 -msgid "7.5%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1921 +msgid "**During employment:** Before March 1 of the following year" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1300 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1302 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1620 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1622 -msgid "28,245.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1922 +msgid "**At the end of employment:** Within two months following the end of the quarter in which the contract ended" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1302 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1622 -msgid "20.0%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1924 +msgid "**If additional payments occur after contract termination:** A copy reflecting the additional payment must be provided within two months of the payment" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1304 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1624 -msgid "35.0%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1927 +msgid "Additionally, employers must issue a **simplified individual account** with certain worker and employer details within two months of the worker's employment start date." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1306 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1626 -msgid "55.0%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1930 +msgid "Any modifications to mandatory details, such as job function or workplace location, must be communicated in writing (e.g., an updated simplified individual account) within one month of the effective change date." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1306 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1626 -msgid "36,720.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1935 +msgid "Generate individual accounts in Odoo" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1308 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1628 -msgid "5+" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1937 +msgid "Navigate to :menuselection:`Payroll app --> Reporting --> Belgium --> Individual Accounts`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1308 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1628 -msgid "75.0%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1939 +msgid "Then select the reference year and click the :guilabel:`Populate` button. The :file:`.pdf` are displayed as soon as they are available and are generated 30 by 30, this could take some time according to the number of employees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1308 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1628 -msgid "39,550.00" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1943 +msgid "On the first page, the :guilabel:`Employer Information` and the :guilabel:`Employee Information` is listed." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1312 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1632 -msgid "Final tax calculation" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Individual Account PDF Header." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1314 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1634 -msgid "The final withholding tax amount is:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1949 +msgid "The next page displays all the employee worked days and payslip lines, month by month, split by structure (e.g., End of year bonus and monthly pay)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1316 -msgid "\\text{Tax} = \\text{Gross Double Holiday} \\times \\text{Applicable Tax Rate} -\n" -"\\text{Reduction (if applicable)}" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Individual Account PDF Month by Month." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1322 -msgid "The resulting tax is deducted from the gross double holiday salary to determine the net amount payable to the employee." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1955 +msgid "The next page displays the same information quarter by quarter and summarized for the whole year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1325 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1645 -msgid "The calculation considers work duration, absences, variable revenue, and applicable withholding taxes. Odoo automates these calculations to ensure compliance with Belgian labor laws and tax regulations." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Individual Account PDF Quarter by Quarter." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1330 -msgid "Generate a batch in Odoo" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1960 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3101 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3171 +msgid "Once all PDF files are generated, they can be posted to the employee documents portal if the **Documents** application is :doc:`installed and properly configured <../../../productivity/documents>`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1332 -msgid "Navigate to :menuselection:`Payroll App --> Payslips --> Batches` and create a new record with valid dates (here december 2024)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1964 +msgid "Select the checkbox of each employee whose documents you want to post, and click the :guilabel:`Post PDF` button." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1335 -msgid "Then click the **Generate Payslips** button, select the CP200 salary structure type and the Thirteen Month salary structure. You can also filter eligible employees by department and / or job position." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1970 +msgid "Intellectual property and 273 sheets" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Double Holiday Batch Wizard." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1975 +msgid "The 273S declaration is used for the **Prepayment on Mobile Income (Pr.M)**, which concerns the taxation of **Author's Rights** and **Neighboring Rights** (also known as **Revenus Mobilier**). These are specific types of income that are subject to particular tax treatment in certain jurisdictions." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1342 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1663 -msgid "Once validated, a payslip is generated for each employee." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1980 +msgid "This document provides users with essential information about how the 273S declaration functions within Odoo for reporting income derived from these rights, including applicable tax rates and conditions." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Double Holiday Payslips." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1985 +msgid "Tax rates and calculation" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1347 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1668 -msgid "You can now check the different payslips before validation. Once validated, the PDF files are generated and posted on employee portals as for classic payslips." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1987 +msgid "The net income from Author's Rights and Neighboring Rights is taxable at a specific rate of **15%**. However, the effective tax rate can vary based on the application of flat-rate deductions. These flat rates reduce the taxable amount, leading to a lower effective tax rate for lower incomes." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Double Holiday PDF." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1991 +msgid "Key points of taxation:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1356 -msgid "Double holiday pay is a significant benefit that rewards employees for their work in the previous year. Understanding how it is calculated helps in better financial planning for the holiday period." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1993 +msgid "**Effective tax rate**:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1362 -msgid "Eco vouchers" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1995 +msgid "For incomes below the first flat-rate threshold, the effective tax rate can be as low as **7.5%**." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1367 -msgid "Eco vouchers are a tax-free employee benefit designed to support the purchase of environmentally-friendly products and services. These vouchers are ordered via external providers and are exempt from social security contributions." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1997 +msgid "For incomes reaching the flat-rate ceiling of **37,500 EUR** (indexed annually), the rate can increase to **12%**." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1372 -msgid "Eligibility & allocation" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2000 +msgid "**Additional taxes**: Income from Author's Rights and Neighboring Rights must be declared in the personal income tax declaration. As a result, municipal surcharges may also apply to the tax due." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1374 -msgid "Employees who have worked during the **reference period (01/06/N-1 - 31/05/N)** are eligible for up to **250€** in eco vouchers, which are granted at the beginning of **July**." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2003 +msgid "The **prepayment** of the tax is handled via a withholding tax on the income. The debtor of the income (e.g., the employer or company paying the royalties) must submit the 273S declaration to the tax authorities. This withholding tax rate is generally **15%**, but for incomes exceeding the indexed ceiling of **37,500 EUR**, the rate increases to **30%**." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1378 -msgid "For 2025, employees must have worked between **01/06/2024 and 31/05/2025** to qualify." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2009 +msgid "Benefits of Author's Rights in employment contracts" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1380 -msgid "For employees who join during the reference period, the voucher amount is prorated based on their worked days." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2011 +msgid "Companies can offer tax-advantageous remuneration to their directors or employees by granting **Author's Rights**. These rights are subject to a **15% withholding tax**, but there are flat-rate deductions that make this tax treatment very favorable, especially when incomes are lower." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1384 -msgid "An employee hired on **06/01**, having worked **6 out of 12 months**, would receive:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2015 +msgid "Important considerations:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1386 -msgid "250\\text{€} \\times (6/12) = 125\\text{€}" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2017 +msgid "**Creative works**: To qualify for Author's Rights protection, the work must be creative, original, and fixed in a tangible form. Simple ideas or concepts are not eligible." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1391 -msgid "For part-time employees, the amount is adjusted as follows:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2019 +msgid "**Exploitation requirement**: From January 1, 2023, a new regulation mandates that transferred or licensed protected works must be exploited, meaning they must be used for public communication, execution, representation, or reproduction." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1396 -msgid "Work Regime" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2022 +msgid "**Eligibility for tax benefits**: To benefit from the favorable tax regime, the rights holder must meet specific criteria, such as:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1397 -msgid "Voucher Amount (€)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2025 +msgid "Holding an \"Artistic Work Certificate.\"" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1398 -msgid "4/5" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2026 +msgid "Licensing or transferring rights to a third party for public communication or reproduction." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1399 -msgid "250€" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2028 +msgid "**Income ratio restrictions**: The proportion of income from Author's Rights in relation to regular salary will be capped at **30%**, with **70%** of the total income being subject to regular income tax." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1400 -msgid "3/5" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2031 +msgid "**Income cap**: The absolute ceiling for qualifying income under this regime remains **37,500 EUR** (indexed at **70,220 EUR** for the 2024 income year)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1401 -msgid "200€" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2034 +msgid "If your average income from the last four years exceeds this ceiling, you will no longer be eligible for the advantageous tax regime." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1402 -msgid "1/2" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2037 +msgid "**Ruling Request**: For greater clarity on the scope and remuneration of the transfer of Author's Rights, an advanced agreement with the tax authorities (referred to as a **ruling**) can be requested." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1403 -msgid "125€" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2042 +msgid "Tax treatment of Author's Rights income" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1404 -msgid "< 1/2" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2044 +msgid "Since 2008, income from the transfer or licensing of Author's Rights has benefited from a favorable tax treatment. Specifically, the income is subject to:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1405 -msgid "100€" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2047 +msgid "**15% Withholding Tax** up to an indexed ceiling of **70,220 EUR** (2023 income year)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1408 -msgid "If an employee starts on **1st September** in **full-time** and then switches to **half-time** on **1st April 2024**, the calculation will be:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2048 +msgid "**Flat-Rate Deductions**:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1411 -msgid "250\\text{€} \\times (7/12) + 125\\text{€} \\times (2/12) = 166\\text{€}" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2050 +msgid "**50% flat-rate deduction** applies to the first **18,720 EUR** of income." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1417 -msgid "Exceptions & adjustments" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2051 +msgid "**25% flat-rate deduction** applies to the next **18,730 EUR** (from **18,720 EUR to 37,450 EUR**)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1419 -msgid "If an employee worked full-time for the entire reference period but did not receive **250€**, certain non-assimilated leave days may have affected the calculation." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2054 +msgid "Example of tax impact:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1422 -msgid "The following leave types are **not** considered for eco-voucher entitlement:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2056 +msgid "For example, if a company director receives **10,000 EUR** in Author's Rights income, they will pay **750 EUR** in tax (15% of the income after the flat-rate deductions), leaving them with a net income of **9,250 EUR**. This results in an effective tax rate of **7.5%** on the Author's Rights income." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1424 -msgid "**Unpaid leaves**" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2062 +msgid "Odoo integration for Declaration 273S" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1425 -msgid "**Sick leave compensated by mutual insurance** (after 30 days of work incapacity)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2064 +msgid "Odoo users can efficiently manage the submission of the **273S Declaration** for Author's Rights and Neighboring Rights income via the **Odoo Payroll** module. Here's a quick overview of how this can be done:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1428 -msgid "Usage & validity" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2069 +msgid "Set up Author's Rights in Odoo" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1430 -msgid "Eco vouchers are valid for **24 months** from the date of issuance." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2071 +msgid "On the employees form view, make sure the :guilabel:`Intellectual Property` checkbox is enabled, and the allocated salary percentage is specified as well." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1433 -msgid "The list of eligible products and services that can be purchased with eco vouchers is available here:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2074 +msgid "Once a payslip is generated, the :abbr:`IP (intellectual property)` part is computed based on the intellectual property percentage and the gross salary. The tax is computed accordingly based on the revenue amount." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1436 -msgid "`Eco-Voucher Eligible Products `_" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Intellectual Property Payslip 1." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1441 -msgid "End of year bonus" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Intellectual Property Payslip 2." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1443 -msgid "This document explains the calculation of the thirteenth-month salary (year-end bonus) in Belgium within Odoo. The calculation considers the employee's contracts, working time rates, and applicable taxes." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2085 +msgid "Generate the 273S form" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1448 -msgid "Calculation of the thirteenth-month salary" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2087 +msgid "Odoo can generate the 273S form automatically based on the income data entered into the system. Ensure that all required details, including the amount of income subject to the tax, are accurately entered." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1451 -msgid "Eligibility criteria" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2091 +msgid "Navigate to :menuselection:`Payroll app --> Reporting --> Belgium --> 273S Sheet` to create a :guilabel:`New` record." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1453 -msgid "The employee must have worked for at least **six complete months** in the year." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2094 +msgid "Select the reference :guilabel:`Year` and :guilabel:`Month`, then click :guilabel:`Export XML file` to generate the declaration. Click :guilabel:`Export PDF File` to generate the printed details." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1454 -msgid "Both full-time and part-time employees are eligible, with prorated calculations based on work time." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "273S Wizard File Generation." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1458 -msgid "Salary calculation" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2100 +msgid "On the first PDF section, the company information and the global declaration is listed." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1460 -msgid "The thirteenth-month salary is computed as follows:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "273S PDF Company Info." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1462 -msgid "**Determine the basic salary**:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2105 +msgid "On the second section, the employees specific information is listed." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1464 -msgid "Retrieve the employee's contractual wage." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "273S PDF Employee Info." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1465 -msgid "Identify the applicable work rate." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2111 +msgid "File the 273S Declaration" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1467 -msgid "**Compute eligible months**:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2113 +msgid "After generating the XML file, the company or the debtor of the income can submit it to the tax authorities directly from MyMinfin. Keep track of the filing and payment deadlines to ensure timely submission and compliance." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1469 -msgid "If explicitly provided (`MONTHS` input), use the given number of months." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2120 +msgid "The **273S Declaration** is an essential tool for companies and individuals benefiting from the favorable tax regime on Author's Rights and Neighboring Rights. By leveraging Odoo's tax management features, users can ensure compliance while optimizing their tax liabilities." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1470 -msgid "Otherwise, calculate the number of complete months worked." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2124 +msgid "For further assistance, please consult a tax professional." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1471 -msgid "Prorate the salary for partial-year work." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2129 +msgid "Representation fees" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1473 -msgid "**Adjust for absences**:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2134 +msgid "Representation fees must be **allocated on the payslip** between **serious and non-serious representation costs**. By default, the threshold is set at **€283.73**, but it can be adjusted based on what the company can **legally justify**." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1475 -msgid "Deduct unpaid absences to obtain the presence prorata." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2138 +msgid "The representation fees is configured on the employee's contract form in the :guilabel:`Expense Fees` field." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1476 -msgid "Consider up to 60 days of sick leave as paid time off." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2141 +msgid "On the payslip, two or one line are displayed in the case the representation fees amount exceeds the threshold or not." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1478 -msgid "**Include variable revenues**:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2145 +msgid "Breakdown of the threshold" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1480 -msgid "If explicitly provided (`VARIABLE` input), use the given value." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2147 +msgid "Only part of the representation costs are pro-rated because certain costs are **fully covered** by the company. These fixed costs include:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1481 -msgid "Otherwise, calculate the average variable revenue over the last year." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2150 +msgid "\\text{€}283.73\\text{ Total} = \\begin{cases}\n" +"+ \\text{ €148.73 (Tax, since 2021 - coronavirus)} \\\\\n" +"+ \\text{ €30 (Internet)} \\\\\n" +"+ \\text{ €25 (Phone)} \\\\\n" +"+ \\text{ €80 (Car management fees)} \\\\\n" +"\\end{cases}" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1483 -msgid "**Final amount**:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2160 +msgid "The **serious portion** of the representation costs is **not prorated**, while the **non-serious portion** is prorated based on working time." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1485 -msgid "The final thirteenth-month amount is the sum of the prorated fixed salary and average variable revenues." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2163 +msgid "Navigate to :menuselection:`Payroll app --> Configuration --> Salary --> Rule Parameters`, and search for the `CP200: Representation Fees Threshold` record. Then, adapt the current value or introduce a new one from a given date." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1493 -msgid "**Identify the employee's annual taxable revenue**:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Representation Fees Threshold." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1514 -msgid "23.22%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2171 +msgid "It is possible to define, based on job position, which jobs are eligible to certain criteria in the :guilabel:`Payroll` tab." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1516 -msgid "25.23%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:0 +msgid "Representation Fees Job Position." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1518 -msgid "30.28%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2178 +msgid "Calculation of representation fees" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1520 -msgid "35.33%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2181 +msgid "Conditions for payment" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1522 -msgid "38.36%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2183 +msgid "Representation fees are only granted if:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1524 -msgid "40.38%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2185 +msgid "The employee **receives a basic salary**, and" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1526 -msgid "43.41%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2186 +msgid "The employee has **worked at least part of the time**, unless a **salary simulation** is in progress." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1528 -msgid "46.44%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2189 +msgid "If the employee is on **full leave** (without any working days), they are **not eligible** for representation fees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1530 -msgid "51.48%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2193 +msgid "Determining the work time rate" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1636 -msgid "\\text{Tax} = \\text{Gross Thirteenth Month} \\times \\text{Applicable Tax Rate} -\n" -"\\text{Reduction (if applicable)}" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2195 +msgid "The number of **working days per week** is extracted from the employee's contract." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1642 -msgid "The resulting tax is deducted from the gross thirteenth-month salary to determine the net amount payable to the employee." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2196 +msgid "If the employee has periods of **incapacity for work** (e.g., illness), the calculation adjusts the **work time rate** accordingly:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1652 -msgid "Navigate to :menuselection:`Payroll app --> Payslips --> Batches` and create a new record with valid dates (here december 2024)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2199 +msgid "The total **incapacity hours** are determined." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1655 -msgid "Then click the :guilabel:`Generate Payslips` button, select the :guilabel:`CP200: Belgian Employee` :guilabel:`Salary Structure Type` and the :guilabel:`CP200: Employees 13th Month` :guilabel:`Salary Structure`. You can also filter eligible employees by :guilabel:`Department` and / or :guilabel:`Job Position`." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2200 +msgid "If the company follows a **biweekly schedule**, the incapacity hours are divided by **two**." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "End of Year Bonus Batch Wizard." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2201 +msgid "The incapacity **rate** is calculated as:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "End of Year Bonus Payslips." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2203 +msgid "\\text{incapacity rate} = 1 - \\frac{\\text{incapacity hours}}{\\text{total weekly hours}}" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "End of Year Bonus PDF." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2208 +msgid "The **final work time rate** is then adjusted by multiplying it with the incapacity rate." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1677 -msgid "Holiday pay recovery" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2211 +msgid "Applying the threshold and pro-rating rules" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1679 -msgid "This document explains how Odoo calculates the recovery of holiday pay (both simple and double) for employees in Belgium who have changed employers. When an employee moves from one company to another, their previous employer may have already paid their holiday pay for the previous year. This amount needs to be recovered by the new employer, and this guide outlines how this is managed in Odoo." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2213 +msgid "The **default threshold (€283.73)** is applied unless adjusted by the company." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1685 -msgid "Understanding holiday pay in Belgium" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2214 +msgid "If the employee has **worked a full-time schedule**, they receive the **full representation fees** without reduction." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1687 -msgid "In Belgium, employees are entitled to annual leave and corresponding holiday pay, which consists of:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2216 +msgid "If the employee works **part-time** (contractual or due to time credit), only the **non-serious portion** of the fees is prorated." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1689 -msgid "**Simple holiday pay**: Regular salary payments for the days of leave taken." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2219 +msgid "The prorated formula for non-serious expenses is:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1690 -msgid "**Double holiday pay**: An additional payment, typically equal to approximately 92% of the gross monthly salary, given when employees take their annual leave." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2221 +msgid "\\text{adjusted amount} = \\text{threshold} + (\\text{total fees} - \\text{threshold}) \\times\n" +"\\frac{\\text{work time rate}}{100}" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1693 -msgid "When an employee changes jobs, their previous employer may have already paid these amounts. To avoid double payment, the new employer needs to recover the amounts already paid." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2227 +msgid "If the employee has **missing workdays**, the final amount is further adjusted:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1697 -msgid "Recovery of simple holiday pay" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2229 +msgid "First calculate the **daily reduction**:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1699 -msgid "The recovery of simple holiday pay in Odoo is based on the following criteria:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2231 +msgid "\\text{daily reduction} = \\frac{(\\text{total amount} - \\text{threshold}) \\times 3}{13 \\times \\text{days per week}}" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1701 -msgid "The recovery applies if the employee has taken leave in the current year and their previous employer already paid the holiday pay." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2236 +msgid "Then calculate the **final amount**:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1703 -msgid "The calculation considers the number of leave days taken and the hours worked per week." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2238 +msgid "\\text{final amount} = max(0, \\text{total amount} - \\text{daily reduction} \\times\n" +"\\text{missing days})" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1704 -msgid "The recovery process is split into:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2245 +msgid "Final calculation" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1706 -msgid "**Year N**: The current year's holiday pay recovery." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2247 +msgid "If the employee meets all conditions, the final representation fees amount is **rounded to two decimal places** for payroll purposes." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1707 -msgid "**Year N-1**: The recovery of holiday pay from the previous year." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2249 +msgid "Employees working a full schedule receive **full reimbursement**, while those working **reduced hours** have the **non-serious portion prorated** accordingly." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1709 -msgid "The system checks:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2255 +msgid "This calculation ensures **fair allocation** of representation fees by distinguishing between **fixed serious costs** and **prorated non-serious costs**. The company can adjust the **threshold (€283.73 by default)** based on **justifiable business expenses**." msgstr "" - -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1711 -msgid "If the employee's first contract date with the company was in the previous year." + +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2259 +msgid "Employees working **full-time** receive their full representation fees, while those working **part-time or with absences** only receive a **pro-rated portion** of the non-serious fees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1712 -msgid "If the employee has a pending holiday pay recovery amount." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2265 +msgid "Sick time off and relapse" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1713 -msgid "If the recovery has not already been processed." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2267 +msgid "In Belgium, sick leave is managed according to two main regimes:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1714 -msgid "If the employee has taken annual leave." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2269 +msgid "**With guaranteed salary**: The employer continues to pay the worker's salary for a specified period." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1716 -msgid "If all conditions are met, Odoo calculates the amount to be deducted from the payroll to account for the holiday pay already received from the previous employer." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2271 +msgid "**Without guaranteed salary**: The worker receives benefits from the mutual insurance company after the guaranteed salary period." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1720 -msgid "Recovery of double holiday pay" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2275 +msgid "Sick leave with guaranteed salary" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1722 -msgid "The recovery of double holiday pay follows these steps:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2277 +msgid "The guaranteed salary is a period during which the employer continues to pay the salary of the worker who is unable to work." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1724 -msgid "The system verifies the employee's contract and determines their employment duration." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2280 +msgid "**Employees**: The employer pays 100% of the salary during the first full month of incapacity. After this period, if the incapacity continues, the worker falls under the mutual insurance regime." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1725 -msgid "The gross salary is calculated based on the employee's contract." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2284 +msgid "Sick leave without guaranteed salary" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1726 -msgid "The number of months worked in the previous year is identified." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2286 +msgid "After the guaranteed salary period, the ONEM (National Employment Office) or the mutual insurance company takes over." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1727 -msgid "A threshold amount is computed as follows:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2289 +msgid "**Long-term illness**: An incapacity lasting more than 30 days leads to benefits from the mutual insurance company." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1729 -msgid "\\text{Threshold} = \\text{Current monthly salary} \\times \\text{Months worked in previous year}\n" -"\\times \\text{Occupation rate} \\times 7.67%" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2291 +msgid "**Relapse**: If a worker returns to work and then becomes ill again for the same reason within 14 days, this may be considered a relapse, and the rules for guaranteed salary may be adjusted." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1735 -msgid "If the amount on the holiday certificate from the previous employer is lower than this threshold, no limit applies." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2295 +msgid "Management in Odoo" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1738 -msgid "The system recovers the lower of:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2297 +msgid "In Odoo, sick leave is automatically managed if the absences are related to the *Sick Time Off* work entry type." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1740 -msgid "The calculated threshold." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2300 +msgid "**Recording time off**: The employee records their absence through the **Time Off** module." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1741 -msgid "The actual amount paid by the previous employer." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2301 +msgid "**Automation of work entries**: If the request is approved, Odoo automatically generates the corresponding Work Entries." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1743 -msgid "If the employee has worked for more than 12 months in the current company, no double holiday pay needs to be recovered." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2303 +msgid "**Impact on payroll**: The guaranteed salary is automatically calculated according to the rules configured based on the worker's status (employee)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1747 -msgid "How to configure in Odoo" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2305 +msgid "**Compensation after the guaranteed salary**: Once the guaranteed salary period has expired, Odoo adjusts the Work Entries to reflect the transition to the mutual insurance company." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1749 -msgid "In the employee form view, under the :guilabel:`Settings` tab, you can enter the various amounts from holiday attests provided by the new employee." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2308 +msgid "Thus, Odoo ensures a smooth and compliant management of sick leave according to Belgian regulations." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Holiday Pay Recovery Configuration." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2313 +msgid "Social Balance Sheet" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1755 -msgid "For simple holiday pay recovery, you need to enter:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2318 +msgid "The *Social Balance Sheet* was introduced by the law of December 22, 1995, as part of measures for the implementation of the multi-year employment plan. Companies required to file annual accounts (including some that are not obligated to publish such accounts - see the `National Bank of Belgium website `_ for details) must also prepare and submit a Social Balance Sheet to the National Bank of Belgium." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1757 -msgid "The :guilabel:`Number of days` for paid leave" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2324 +msgid "The Royal Decree of August 4, 1996, incorporates the Social Balance Sheet into the annual accounts, specifically as an annex. This makes it an integral part of a company's financial statements." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1758 -msgid "The :guilabel:`Amount to recover` by the employee" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2328 +msgid "Contents of the Social Balance Sheet" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1761 -msgid "The :guilabel:`Recovered Amount` field displays the amount already recovered." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2330 +msgid "The content of the Social Balance Sheet is determined by the Royal Decree of January 30, 2001, implementing the Company Code. The Social Balance Sheet consists of several sections:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1763 -msgid "For double holiday pay recovery, you must enter a **line for each employer's holiday attest**. Each line should include:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2333 +msgid "Sections I and II: Information on employed persons and personnel movements during the fiscal year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1766 -msgid "The :guilabel:`# Months` (number of months) the employee worked for that employer" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2334 +msgid "Section III: Initiatives related to training." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1767 -msgid "The :guilabel:`Amount` provided to the employee" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2336 +msgid "Since the Social Balance Sheet is part of a company's annual accounts, the works council receives this information as part of its mission regarding economic and financial information." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1768 -msgid "The :guilabel:`Occupational Rate`" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2339 +msgid "Additionally, the works council receives data on employment-related benefits along with annual employment-related information (Trillium). These details were fully integrated into the Social Balance Sheet until 2008." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1770 -msgid "Odoo uses this data to compute a **recovery limit**. If the employee now has a lower salary, the full amount cannot be recovered." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2344 +msgid "Scope of the Social Balance Sheet" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1774 -msgid "Be careful not to mix holiday attests for the current year (N) and the previous year (N-1)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2346 +msgid "The Social Balance Sheet contains specific data related to workforce composition, staff turnover, and training programs. Some organizations not required to publish annual accounts must still file a separate Social Balance Sheet. This applies primarily to certain hospitals and private legal entities employing at least 20 full-time equivalents (FTEs)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1776 -msgid "For simple holiday pay recovery, the system deducts the amount from each legal time-off period until:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2351 +msgid "Any company, association, or foundation with at least 20 workers on an annual average (in FTE) must complete and submit the Social Balance Sheet." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1779 -msgid "The **total amount** has been fully recovered, or" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2354 +msgid "The Social Balance Sheet is part of:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1780 -msgid "The **number of time-off days** has been matched (if the employee's current salary is lower than before)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2356 +msgid "\"Other documents to be filed under the Company and Associations Code\" (for companies);" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Holiday Pay Recovery Simple Payslip." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2357 +msgid "\"Explanatory Notes\" (for associations and foundations)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1786 -msgid "Once the **payslip** is validated and paid, the recovered simple holiday pay is reflected in the employee form view." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2360 +msgid "Obligations by entity type" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Holiday Pay Recovery Simple Amount." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2363 +msgid "Companies, associations, and foundations required to publish a Social Balance Sheet" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1792 -msgid "On the double holiday payslip, click :guilabel:`Compute Double Pay Recovery` to open a wizard that helps calculate the recoverable amount." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2365 +msgid "For Belgian companies employing at least one FTE:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1795 -msgid "In the :guilabel:`Double Pay Recovery Computation` wizard, you'll find:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2367 +msgid "**Standardized model**: This schema includes a \"Social Balance Sheet\" section, which must be completed." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1797 -msgid "The relevant holiday attests listed in the :guilabel:`Occupation Lines`" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2369 +msgid "**Specific model**: If the model used does not include a Social Balance Sheet, it must be provided separately." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1798 -msgid "The :guilabel:`Double Pay To Recover` amount based on the threshold" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2372 +msgid "For Belgian associations and foundations employing at least 20 FTEs:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1800 -msgid "This amount is **editable** if manual adjustments are needed." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2374 +msgid "**Standard model**: Includes a \"Social Balance Sheet\" section that must be completed." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Holiday Pay Recovery Double Wizard." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2375 +msgid "**Specific model**: A separate Social Balance Sheet must be submitted if the chosen model does not include one." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1805 -msgid "Once validated, the double pay recovery is applied to the payslip." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2378 +msgid "Associations and foundations with fewer than 20 FTEs may voluntarily complete the Social Balance Sheet but are not legally required to do so." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Holiday Pay Recovery Double Amount." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2381 +msgid "For foreign companies, such as branches of foreign corporations and foreign non-profit organizations (ASBL) with activities in Belgium, the Social Balance Sheet applies only to their Belgian operations." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1810 -msgid "Odoo automates the recovery of both **simple** and **double** holiday pay, ensuring compliance with **Belgian labor laws**. By analyzing contract details, employment duration, and past payments, Odoo calculates the necessary deductions and prevents duplicate holiday pay payments." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2385 +msgid "The Social Balance Sheet is made publicly available by the Central Balance Sheet Office as part of the financial statements submission." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1817 -msgid "Individual accounts" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2389 +msgid "Entities required to file a separate Social Balance Sheet" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1820 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1973 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2132 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2316 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2842 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3064 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3134 -msgid "Introduction" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2391 +msgid "Certain organizations that do not need to publish annual accounts must still submit a Social Balance Sheet to the Central Balance Sheet Office. This data is used exclusively for statistical purposes and is not made publicly available. Submission in these cases is free of charge." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1822 -msgid "The individual account provides workers with a detailed overview of their earnings, deductions (such as social security contributions, withholding tax, etc.), and the working days performed, on a pay period basis. Additionally, it contains all relevant administrative data related to remuneration." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2395 +msgid "This exception applies to:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1828 -msgid "Required information in the individual account" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2397 +msgid "**Hospitals**, unless they are structured as limited liability companies or large ASBLs, which must submit full financial statements, including the integrated Social Balance Sheet." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1830 -msgid "The individual account must include several mandatory details as determined by Royal Decree." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2399 +msgid "**Private legal entities** that are not required to submit annual accounts but have at least 20 employees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1832 -msgid "**Employer identification:**" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2402 +msgid "The required model depends on the entity type:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1834 -msgid "Name, address, ONSS number, ONVA number" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2404 +msgid "**Hospitals** must use the full or abridged Social Balance Sheet model based on their size." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1835 -msgid "Relevant joint committee (or sub-committee)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2405 +msgid "**Foreign entities** must use the full or abridged Social Balance Sheet model, based on the size of their Belgian establishments." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1836 -msgid "Name of the holiday fund for workers" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2407 +msgid "**Private legal entities** with at least 50 employees must use the full model, while those with 20-49 employees may use the abridged model." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1837 -msgid "Insurer for work-related accidents" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2411 +msgid "Social Balance Sheet models" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1838 -msgid "Approved social secretariat" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2413 +msgid "The latest versions of the Social Balance Sheet models can be found at the following links:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1839 -msgid "Relevant affiliation numbers" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2415 +msgid "**Full Model**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1841 -msgid "**Worker identification:**" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2417 +msgid "PDF: `Full Social Balance Sheet PDF `_" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1843 -msgid "Name, address, date of birth, gender, tax status" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2418 +msgid "Word: `Full Social Balance Sheet Word `_" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1844 -msgid "Type of employment contract, job title, professional qualification" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2420 +msgid "**Abridged Model**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1845 -msgid "Workplace location (or note if working at multiple locations)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2422 +msgid "PDF: `Abridged Social Balance Sheet PDF `_" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1846 -msgid "Start and end date of employment" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2423 +msgid "Word: `Abridged Social Balance Sheet Word `_" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1847 -msgid "Employee ID number, starting salary" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2426 +msgid "Assistance in completing the Social Balance Sheet" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1848 -msgid "Remuneration components and payment periodicity" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2428 +msgid "For guidance on completing the Social Balance Sheet, refer to the following resources:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1850 -msgid "**Remuneration components:**" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2430 +msgid "**CNC Opinion S100**: `Questions and Answers on the Social Balance Sheet `_" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1852 -msgid "Per pay period (daily, weekly, bi-weekly, or monthly):" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2431 +msgid "**CNC Opinion 2009/12**: `Social Balance Sheet and Statutory Workers `_" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1854 -msgid "Number of working days and hours (regular, additional, and overtime)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2432 +msgid "**Explanatory Note**: `Information on Training Activities `_" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1855 -msgid "Days of work interruption and reasons (illness, vacations, public holidays, replacement days, compensatory rest days, etc.)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2435 +msgid "Submitting a separate Social Balance Sheet" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1857 -msgid "Fixed or hourly salary, variable remuneration, bonuses, meal vouchers, eco vouchers, holiday pay (including early holiday pay if applicable), severance pay, year-end bonuses (as per sectoral or other collective labor agreements), benefits in kind and their estimated value" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2437 +msgid "A separate Social Balance Sheet must be submitted online as a PDF via the **Filing** application. The model can be selected under :guilabel:`Other Documents`, with options for :guilabel:`Abridged Social Balance Sheet` or :guilabel:`Full Social Balance Sheet`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1860 -msgid "Gross amount of all remuneration components" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2441 +msgid "For further details, visit the National Bank of Belgium's website: `www.nbb.be `_." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1861 -msgid "Amounts subject to social and tax deductions" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2444 +msgid "Generating Social Balance Sheet in Odoo" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1862 -msgid "Various social and tax deductions: personal ONSS contributions, withholding tax, special social security contributions" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2446 +msgid "Navigate to :menuselection:`Payroll app --> Reporting --> Belgium --> Social Balance Sheet` and select the reference :guilabel:`Period`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1864 -msgid "Net amount payable to the worker" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Social Balance Sheet Wizard." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1865 -msgid "Other payments made by the employer, including reimbursement of travel expenses, allowances, and other payments" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2452 +msgid "Then click :guilabel:`Export to PDF` or :guilabel:`Export to XLSX` to generate the social balance sheets containing all the data available in your Odoo database." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1868 -msgid "Per quarter:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2455 +msgid "The different pieces of information are split by gender, or by working schedule (Part Time, Full Time, Full Time equivalent), for the whole period, and month by month, as requested by the National Bank of Belgium." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1870 -msgid "Number of actual working days" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Social Balance Sheet PDF Header." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1871 -msgid "Days of work interruption by reason" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Social Balance Sheet PDF Content." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1872 -msgid "Total remuneration subject to social security contributions" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Social Balance Sheet XLSX Content." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1873 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1878 -msgid "Employee social security contribution amounts" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2471 +msgid "Social Security certificate" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1875 -msgid "Per year:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2473 +msgid "The Social Security certificate in Odoo provides a detailed breakdown of all social charges paid by the employee or employer, categorized by type (e.g., year-end bonus, private car reimbursement, double holiday pay, etc.). This report is particularly useful for audit companies and for verifying that the declared amounts align with accounting entries." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1877 -msgid "Total amounts subject to social security contributions" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2479 +msgid "Accessing the Social Security certificate" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1879 -msgid "Taxable remuneration and other amounts" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2481 +msgid "To generate the Social Security certificate, follow these steps:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1880 -msgid "Withholding tax amount" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2483 +msgid "Navigate to :menuselection:`Payroll app --> Reporting --> Belgium --> Social Security Certificate`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1883 -msgid "Responsibility for establishing and updating the individual account" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2485 +msgid "Select the reference :guilabel:`Period`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1885 -msgid "Belgian employers using **Odoo Payroll** can generate the individual accounts of their workers." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2486 +msgid "Choose the data :guilabel:`Aggregation Level`:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1887 -msgid "However, to ensure accurate record-keeping, employers must:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2488 +msgid ":guilabel:`Whole Company`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1889 -msgid "Ensure payment of sector-mandated year-end bonuses" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2489 +msgid ":guilabel:`By Department`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1890 -msgid "Ensure that all public holidays, legal vacation days, and compensatory rest days are taken before the end of the year" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2490 +msgid ":guilabel:`By Employee`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1892 -msgid "Plan collective vacation and replacement public holidays in advance" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Social Security Certificate Wizard." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1893 -msgid "Pay workers their holiday pay (including early holiday pay if applicable)" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2496 +msgid "Exporting the report" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1894 -msgid "Distribute due eco vouchers" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2498 +msgid "Once the selections are made, you can export the report in different formats:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1895 -msgid "Pay any required travel expenses between home and work" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2500 +msgid "Click :guilabel:`Export to PDF` to generate a printable version of the Social Security certificate." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1897 -msgid "If these obligations are met, the corresponding data will be included in the individual account." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2502 +msgid "Click :guilabel:`Export to XLSX` to generate an Excel file containing all relevant data." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1900 -msgid "Storage and retention period of the individual account" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Social Security Certificate PDF Header." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1902 -msgid "The individual account is a social document that must be kept by the employer for a specified period after its creation." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Social Security Certificate PDF Content." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1905 -msgid "Employers may store individual accounts:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Social Security Certificate XLSX Content." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1907 -msgid "At the ONSS-registered address" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2513 +msgid "This feature ensures full transparency and compliance with social security regulations in Belgium." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1908 -msgid "At a workplace" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2523 +msgid "Legal time off" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1909 -msgid "At their home or registered office if located in Belgium; otherwise, at the residence of a designated agent in Belgium" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2525 +msgid "This guide provides an overview of the basic rules governing legal holiday entitlements in Belgium for employers using Odoo." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1911 -msgid "At the office of the approved social secretariat, if affiliated" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2529 +msgid "Holiday entitlement calculation" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1913 -msgid "Records must be kept legible and in a format allowing efficient oversight. The retention period is **five years** from the end of the annual closing of the account." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2531 +msgid "Your holiday entitlement for the current year (N) is determined by the number of months worked in Belgium during the previous year (N-1)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1917 -msgid "When must workers receive a copy of their individual account?" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2534 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2565 +msgid "**Calculation details:**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1919 -msgid "Each worker must receive a copy of their individual account:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2536 +msgid "Employees earn **2 days of leave per month** based on a 6-day work week." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1921 -msgid "**During employment:** Before March 1 of the following year" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2537 +msgid "The entitlement is adjusted for a 5-day work week: :math:`(\\text{Total Days} \\div 6) \\times 5`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1922 -msgid "**At the end of employment:** Within two months following the end of the quarter in which the contract ended" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2540 +msgid "If an employee worked **7 months** in the previous year (N-1):" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1924 -msgid "**If additional payments occur after contract termination:** A copy reflecting the additional payment must be provided within two months of the payment" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2542 +msgid "**6-day work week:** :math:`7 \\times 2 = 14 \\text{ days}`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1927 -msgid "Additionally, employers must issue a **simplified individual account** with certain worker and employer details within two months of the worker's employment start date." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2543 +msgid "**5-day work week:** :math:`14 \\div 6 \\times 5 = 11.67 \\text{ days}`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1930 -msgid "Any modifications to mandatory details, such as job function or workplace location, must be communicated in writing (e.g., an updated simplified individual account) within one month of the effective change date." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2545 +msgid "**Partial Month Calculation:**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1935 -msgid "Generate individual accounts in Odoo" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2547 +msgid "Worked **1st to 10th**: Full month counted." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1937 -msgid "Navigate to :menuselection:`Payroll app --> Reporting --> Belgium --> Individual Accounts`." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2548 +msgid "Worked **11th to 19th**: Half month counted." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1939 -msgid "Then select the reference year and click the :guilabel:`Populate` button. The :file:`.pdf` are displayed as soon as they are available and are generated 30 by 30, this could take some time according to the number of employees." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2549 +msgid "Worked **20th onwards**: Month not counted." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1943 -msgid "On the first page, the :guilabel:`Employer Information` and the :guilabel:`Employee Information` is listed." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2551 +msgid "**Rounding Rules:**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Individual Account PDF Header." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2553 +msgid "Less than **0.35**: Round to **0**." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1949 -msgid "The next page displays all the employee worked days and payslip lines, month by month, split by structure (e.g., End of year bonus and monthly pay)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2554 +msgid "Between **0.35 - 0.74**: Round to **0.5**." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Individual Account PDF Month by Month." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2555 +msgid "**0.75 and above**: Round to **1**." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1955 -msgid "The next page displays the same information quarter by quarter and summarized for the whole year." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2557 +msgid "For a full-time employee, this typically results in **11.5 days of legal holiday** entitlement." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Individual Account PDF Quarter by Quarter." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2560 +msgid "Maximum holiday entitlement" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1960 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3101 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3171 -msgid "Once all PDF files are generated, they can be posted to the employee documents portal if the **Documents** application is :doc:`installed and properly configured <../../../productivity/documents>`." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2562 +msgid "Employees are entitled to a maximum of **4 weeks** of holiday based on their working schedule. If an employee switches between full-time and part-time work, their entitlement is adjusted accordingly." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1964 -msgid "Select the checkbox of each employee whose documents you want to post, and click the :guilabel:`Post PDF` button." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2567 +msgid "**5-day work week**: :math:`4 \\times 5 = 20 \\text{ days}`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1970 -msgid "Intellectual property and 273 sheets" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2568 +msgid "**4-day work week**: :math:`4 \\times 4 = 16 \\text{ days}`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1975 -msgid "The 273S declaration is used for the **Prepayment on Mobile Income (Pr.M)**, which concerns the taxation of **Author's Rights** and **Neighboring Rights** (also known as **Revenus Mobilier**). These are specific types of income that are subject to particular tax treatment in certain jurisdictions." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2569 +msgid "**3-day work week**: :math:`4 \\times 3 = 12 \\text{ days}`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1980 -msgid "This document provides users with essential information about how the 273S declaration functions within Odoo for reporting income derived from these rights, including applicable tax rates and conditions." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2572 +msgid "If an employee joined **Odoo on January 1, 2024**, and plans to switch to a **3-day work week from April 1, 2024**:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1985 -msgid "Tax rates and calculation" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2575 +msgid "**Step 1: Calculate holiday entitlement for 2024**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1987 -msgid "The net income from Author's Rights and Neighboring Rights is taxable at a specific rate of **15%**. However, the effective tax rate can vary based on the application of flat-rate deductions. These flat rates reduce the taxable amount, leading to a lower effective tax rate for lower incomes." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2577 +msgid "The employee worked **9 months in 2023**." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1991 -msgid "Key points of taxation:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2578 +msgid "**6-day work week basis**: :math:`9 \\times 2 = 18 \\text{ days}`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1993 -msgid "**Effective tax rate**:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2579 +msgid "Adjusted for **5-day work week**: :math:`18 \\div 6 \\times 5 = 15 \\text{ days}`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1995 -msgid "For incomes below the first flat-rate threshold, the effective tax rate can be as low as **7.5%**." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2581 +msgid "**Step 2: Verify maximum holiday entitlement**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1997 -msgid "For incomes reaching the flat-rate ceiling of **37,500 EUR** (indexed annually), the rate can increase to **12%**." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2583 +msgid "For a **5-day work week**, the maximum entitlement is **20 days**." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2000 -msgid "**Additional taxes**: Income from Author's Rights and Neighboring Rights must be declared in the personal income tax declaration. As a result, municipal surcharges may also apply to the tax due." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2584 +msgid "Since the employee is entitled to **15 days**, they remain within the limit." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2003 -msgid "The **prepayment** of the tax is handled via a withholding tax on the income. The debtor of the income (e.g., the employer or company paying the royalties) must submit the 273S declaration to the tax authorities. This withholding tax rate is generally **15%**, but for incomes exceeding the indexed ceiling of **37,500 EUR**, the rate increases to **30%**." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2586 +msgid "**Step 3: Adjust entitlement for the new work schedule**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2009 -msgid "Benefits of Author's Rights in employment contracts" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2588 +msgid "From April 1, 2024, the employee moves to a **3-day work week**." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2011 -msgid "Companies can offer tax-advantageous remuneration to their directors or employees by granting **Author's Rights**. These rights are subject to a **15% withholding tax**, but there are flat-rate deductions that make this tax treatment very favorable, especially when incomes are lower." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2589 +msgid "Maximum entitlement for a **3-day work week**: :math:`3 \\times 4 = 12 \\text{ days}`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2015 -msgid "Important considerations:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2590 +msgid "If no leave is taken before April 1, the employee may take up to **12 days** from their 15-day entitlement." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2017 -msgid "**Creative works**: To qualify for Author's Rights protection, the work must be creative, original, and fixed in a tangible form. Simple ideas or concepts are not eligible." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2592 +msgid "The **remaining 3 days** will be settled at the end of the year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2019 -msgid "**Exploitation requirement**: From January 1, 2023, a new regulation mandates that transferred or licensed protected works must be exploited, meaning they must be used for public communication, execution, representation, or reproduction." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2594 +msgid "This ensures compliance with Belgian legal leave regulations and allows employers to manage holiday entitlements effectively within Odoo." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2022 -msgid "**Eligibility for tax benefits**: To benefit from the favorable tax regime, the rights holder must meet specific criteria, such as:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2598 +msgid "Legal time off allocation" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2025 -msgid "Holding an \"Artistic Work Certificate.\"" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2600 +msgid "This is possible to generate the legal time off for all your employees at the beginning of a new year using the wizard in :menuselection:`Payroll app --> Reporting --> Belgium --> Paid Time Off Allocation`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2026 -msgid "Licensing or transferring rights to a third party for public communication or reproduction." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2604 +msgid "Based on your employees occupation over last year, the number of available time off is pre-computed for each employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2028 -msgid "**Income ratio restrictions**: The proportion of income from Author's Rights in relation to regular salary will be capped at **30%**, with **70%** of the total income being subject to regular income tax." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Paid Time Off Allocation Wizard." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2031 -msgid "**Income cap**: The absolute ceiling for qualifying income under this regime remains **37,500 EUR** (indexed at **70,220 EUR** for the 2024 income year)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2610 +msgid "Once validated, a draft allocation is generated for each single employee, waiting a manual confirmation that can be done in batch." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2034 -msgid "If your average income from the last four years exceeds this ceiling, you will no longer be eligible for the advantageous tax regime." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Paid Time Off Allocations." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2037 -msgid "**Ruling Request**: For greater clarity on the scope and remuneration of the transfer of Author's Rights, an advanced agreement with the tax authorities (referred to as a **ruling**) can be requested." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2619 +msgid "European time off" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2042 -msgid "Tax treatment of Author's Rights income" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2622 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2854 +msgid "How does it work?" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2044 -msgid "Since 2008, income from the transfer or licensing of Author's Rights has benefited from a favorable tax treatment. Specifically, the income is subject to:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2624 +msgid "If you were not subject to Belgian ONSS contributions before joining our company and do not have entitlement to legal holidays, or if your entitlement is incomplete, you can apply for European leave." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2047 -msgid "**15% Withholding Tax** up to an indexed ceiling of **70,220 EUR** (2023 income year)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2628 +msgid "To qualify for European leave in a given year, you must work for at least 3 months during that year, whether with us or another employer. Once you have met this requirement, you will earn 5 days of European leave. Subsequently, you will accumulate additional days of vacation each month as follows:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2048 -msgid "**Flat-Rate Deductions**:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2632 +msgid "After 3 months: 5 days" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2050 -msgid "**50% flat-rate deduction** applies to the first **18,720 EUR** of income." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2633 +msgid "After 4 months: 7 days" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2051 -msgid "**25% flat-rate deduction** applies to the next **18,730 EUR** (from **18,720 EUR to 37,450 EUR**)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2634 +msgid "After 5 months: 9 days" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2054 -msgid "Example of tax impact:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2635 +msgid "After 6 months: 10 days" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2056 -msgid "For example, if a company director receives **10,000 EUR** in Author's Rights income, they will pay **750 EUR** in tax (15% of the income after the flat-rate deductions), leaving them with a net income of **9,250 EUR**. This results in an effective tax rate of **7.5%** on the Author's Rights income." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2636 +msgid "After 7 months: 12 days" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2062 -msgid "Odoo integration for Declaration 273S" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2637 +msgid "After 8 months: 14 days" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2064 -msgid "Odoo users can efficiently manage the submission of the **273S Declaration** for Author's Rights and Neighboring Rights income via the **Odoo Payroll** module. Here's a quick overview of how this can be done:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2638 +msgid "After 9 months: 15 days" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2069 -msgid "Set up Author's Rights in Odoo" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2639 +msgid "After 10 months: 17 days" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2071 -msgid "On the employees form view, make sure the :guilabel:`Intellectual Property` checkbox is enabled, and the allocated salary percentage is specified as well." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2640 +msgid "After 11 months: 19 days" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2074 -msgid "Once a payslip is generated, the :abbr:`IP (intellectual property)` part is computed based on the intellectual property percentage and the gross salary. The tax is computed accordingly based on the revenue amount." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2643 +msgid "The total of legal leave and European leave cannot exceed 20 days per year. You must use all your legal holidays before taking European leave." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Intellectual Property Payslip 1." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2646 +msgid "European leave entitlement expires on December 31st of the year it is earned and cannot be carried over to the following year. To qualify for European leave in a new year, you must complete another 3 months of work." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Intellectual Property Payslip 2." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2651 +msgid "How are these days paid?" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2085 -msgid "Generate the 273S form" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2653 +msgid "European leaves are paid holidays taken in advance of your \"Double Holiday Pay\" (the June extra pay) for the following year. Essentially, the more European leave days you take in a given year, the less you will receive as June extra pay in the following year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2087 -msgid "Odoo can generate the 273S form automatically based on the income data entered into the system. Ensure that all required details, including the amount of income subject to the tax, are accurately entered." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2660 +msgid "Working schedule change" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2091 -msgid "Navigate to :menuselection:`Payroll app --> Reporting --> Belgium --> 273S Sheet` to create a :guilabel:`New` record." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2662 +msgid "This guide explains how to modify an employee's working time schedule in the Belgian payroll module of Odoo. Changing an employee's working hours affects their wage calculation, time-off allocation, and contract terms." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2094 -msgid "Select the reference :guilabel:`Year` and :guilabel:`Month`, then click :guilabel:`Export XML file` to generate the declaration. Click :guilabel:`Export PDF File` to generate the printed details." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2667 +msgid "Steps to change an employee's working schedule" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "273S Wizard File Generation." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2669 +msgid "Navigate to the employee's contract (:menuselection:`Payroll app --> Contracts`), and select the contract of the employee whose working schedule you want to modify." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2100 -msgid "On the first PDF section, the company information and the global declaration is listed." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2671 +msgid "Click on :icon:`fa-cog` :guilabel:`(Action)` and select :guilabel:`Working Schedule Change`. The wizard displays the current contract details and allows you to set new working time parameters." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "273S PDF Company Info." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2673 +msgid "Set the new working schedule:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2105 -msgid "On the second section, the employees specific information is listed." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2675 +msgid "Choose the new :guilabel:`Working Schedule` from the available resource calendars." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "273S PDF Employee Info." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2676 +msgid "Define the :guilabel:`Start Date` for the change (mandatory)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2111 -msgid "File the 273S Declaration" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2677 +msgid "If applicable, specify an :guilabel:`End Date`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2113 -msgid "After generating the XML file, the company or the debtor of the income can submit it to the tax authorities directly from MyMinfin. Keep track of the filing and payment deadlines to ensure timely submission and compliance." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2678 +msgid "If the :guilabel:`Part Time` checkbox is selected, any difference between the reference calendar and the employee's new calendar will be covered using the *Absence Work Entry Type*. This ensures that the employee's monthly salary remains the same, regardless of the number of absence days in a given month. This setup is required for configuring *Time Credit*, *Parental Leave*, or *Medical Half-Time* correctly." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2120 -msgid "The **273S Declaration** is an essential tool for companies and individuals benefiting from the favorable tax regime on Author's Rights and Neighboring Rights. By leveraging Odoo's tax management features, users can ensure compliance while optimizing their tax liabilities." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2684 +msgid "Adjust the employee's wage:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2124 -msgid "For further assistance, please consult a tax professional." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2686 +msgid "The wizard automatically computes the full-time equivalent wage based on the new working schedule." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2129 -msgid "Representation fees" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2688 +msgid "You can review and modify the new wage if necessary." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2134 -msgid "Representation fees must be **allocated on the payslip** between **serious and non-serious representation costs**. By default, the threshold is set at **€283.73**, but it can be adjusted based on what the company can **legally justify**." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2690 +msgid "Manage time off allocation:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2138 -msgid "The representation fees is configured on the employee's contract form in the :guilabel:`Expense Fees` field." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2692 +msgid "Select the relevant :guilabel:`Time Off Type`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2141 -msgid "On the payslip, two or one line are displayed in the case the representation fees amount exceeds the threshold or not." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2693 +msgid "Odoo automatically adjusts the employee's time-off entitlement based on the new working schedule using the following formula:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2145 -msgid "Breakdown of the threshold" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2696 +msgid "\\text{New Time Off Allocation} = \\max(\\min(\\text{ Computed Allocation},\n" +"\\text{ Max Allocation}) + \\text{ Leaves Taken}, \\text{ Leaves Taken})" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2147 -msgid "Only part of the representation costs are pro-rated because certain costs are **fully covered** by the company. These fixed costs include:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2702 +msgid "**Computed Allocation** is the expected leave allocation based on the new schedule." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2150 -msgid "\\text{€}283.73\\text{ Total} = \\begin{cases}\n" -"+ \\text{ €148.73 (Tax, since 2021 - coronavirus)} \\\\\n" -"+ \\text{ €30 (Internet)} \\\\\n" -"+ \\text{ €25 (Phone)} \\\\\n" -"+ \\text{ €80 (Car management fees)} \\\\\n" -"\\end{cases}" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2703 +msgid "**Max Allocation** is the maximum number of days allowed under the new working time." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2160 -msgid "The **serious portion** of the representation costs is **not prorated**, while the **non-serious portion** is prorated based on working time." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2704 +msgid "**Leaves Taken** ensures the employee does not receive fewer days than already used." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2163 -msgid "Navigate to :menuselection:`Payroll app --> Configuration --> Salary --> Rule Parameters`, and search for the `CP200: Representation Fees Threshold` record. Then, adapt the current value or introduce a new one from a given date." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2706 +msgid "Decide on a follow-up contract" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Representation Fees Threshold." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2708 +msgid "If the working time change is temporary, you can enable :guilabel:`Post Change Contract Creation` to automatically create a contract that resumes the previous working schedule after the specified end date." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2171 -msgid "It is possible to define, based on job position, which jobs are eligible to certain criteria in the :guilabel:`Payroll` tab." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2712 +msgid "Validate the changes" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:0 -msgid "Representation Fees Job Position." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2714 +msgid "Click :guilabel:`Validate` to apply the new working schedule." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2178 -msgid "Calculation of representation fees" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2715 +msgid "If the new schedule is the same as the current one, an error will be displayed." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2181 -msgid "Conditions for payment" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2716 +msgid "The system will create a new contract with the updated working time and wage." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2183 -msgid "Representation fees are only granted if:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2717 +msgid "If a previous contract existed, it will be closed with an end date before the new contract begins." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2185 -msgid "The employee **receives a basic salary**, and" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2721 +msgid "Result" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2186 -msgid "The employee has **worked at least part of the time**, unless a **salary simulation** is in progress." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2723 +msgid "The employee's new working schedule is recorded." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2189 -msgid "If the employee is on **full leave** (without any working days), they are **not eligible** for representation fees." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2724 +msgid "Wage and time-off entitlements are adjusted accordingly." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2193 -msgid "Determining the work time rate" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2725 +msgid "A follow-up contract is created if applicable." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2195 -msgid "The number of **working days per week** is extracted from the employee's contract." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "Working Schedule Change New Contracts." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2196 -msgid "If the employee has periods of **incapacity for work** (e.g., illness), the calculation adjusts the **work time rate** accordingly:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2733 +msgid "Work entries exports" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2199 -msgid "The total **incapacity hours** are determined." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2736 +msgid "What are work entries?" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2200 -msgid "If the company follows a **biweekly schedule**, the incapacity hours are divided by **two**." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2738 +msgid "In the context of payroll, *work entries* typically refer to records or documentation related to an employee's work hours and earnings for a specific pay period. These entries are crucial for accurately calculating and processing employee compensation." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2201 -msgid "The incapacity **rate** is calculated as:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2742 +msgid "Work entries in the context of payroll are essential for both employees and employers. They provide a transparent and accurate record of an employee's compensation and deductions, ensuring that employees are paid correctly and that tax and legal requirements are met. Payroll software and systems are commonly used to manage and automate these work entries, making the payroll process more efficient and accurate." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2203 -msgid "\\text{incapacity rate} = 1 - \\frac{\\text{incapacity hours}}{\\text{total weekly hours}}" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2749 +msgid "Main concepts" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2208 -msgid "The **final work time rate** is then adjusted by multiplying it with the incapacity rate." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2752 +msgid "General" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2211 -msgid "Applying the threshold and pro-rating rules" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2754 +msgid "In Odoo, work entries mainly refer to *time entries* (attendance tracking), these are work entries that consist of time records, which include the number of hours worked by an employee during a given pay period. These entries may specify regular working hours, overtime hours, and any other relevant time-related information, such as breaks, paid time off, unpaid time off, parental leave, credit-time, etc." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2213 -msgid "The **default threshold (€283.73)** is applied unless adjusted by the company." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2760 +msgid "Work entries serve a dual role in payroll management. First, they enable organizations to independently compute employee payslips. Second, they facilitate the transmission of pertinent data to external payroll service providers, who then use this information to calculate and generate the payslips." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2214 -msgid "If the employee has **worked a full-time schedule**, they receive the **full representation fees** without reduction." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2768 +msgid "They have a Name: used to identify the type of entry (e.g., Attendance, Paid Time Off, etc.)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2216 -msgid "If the employee works **part-time** (contractual or due to time credit), only the **non-serious portion** of the fees is prorated." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2769 +msgid "They have a Payroll Code: used in Odoo's salary rules computations" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2219 -msgid "The prorated formula for non-serious expenses is:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2770 +msgid "They have an External Code: used to provide the correct Work Entry code to an external payroll service provider." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2221 -msgid "\\text{adjusted amount} = \\text{threshold} + (\\text{total fees} - \\text{threshold}) \\times\n" -"\\frac{\\text{work time rate}}{100}" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2772 +msgid "They are generated based on the configuration of the contract and the time off types" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2227 -msgid "If the employee has **missing workdays**, the final amount is further adjusted:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2773 +msgid "They have a duration, a start and end date, a state and are always linked to an employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2229 -msgid "First calculate the **daily reduction**:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2778 +msgid "They are the main source of configuration for your work entries. Thanks to your different types of work entries, you'll be able to differentiate the time records of your employees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2231 -msgid "\\text{daily reduction} = \\frac{(\\text{total amount} - \\text{threshold}) \\times 3}{13 \\times \\text{days per week}}" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2780 +msgid "They have a name." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2236 -msgid "Then calculate the **final amount**:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2781 +msgid "They contain a code, external code, payroll code and a color for visual tracking." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2238 -msgid "\\text{final amount} = max(0, \\text{total amount} - \\text{daily reduction} \\times\n" -"\\text{missing days})" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2782 +msgid "They allow other types of configurations such as how they are displayed in payslips, decide whether this type of work entry should be considered as paid or unpaid (eg. unpaid leave), decide whether this type of work entry has a link with time off, is valid for some advantages or how it should be reflected in your reporting." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2245 -msgid "Final calculation" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2788 +#: ../../content/applications/hr/time_off.rst:42 +msgid "Time off types" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2247 -msgid "If the employee meets all conditions, the final representation fees amount is **rounded to two decimal places** for payroll purposes." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2790 +msgid "As mentioned above, since work entry types can be linked to a time off type, you are also able to define the work entry type for each time-off type. On the time off type you have a many2one relation with the work entry type." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2249 -msgid "Employees working a full schedule receive **full reimbursement**, while those working **reduced hours** have the **non-serious portion prorated** accordingly." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2795 +msgid "Steps to generate the work entries of your staff" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2255 -msgid "This calculation ensures **fair allocation** of representation fees by distinguishing between **fixed serious costs** and **prorated non-serious costs**. The company can adjust the **threshold (€283.73 by default)** based on **justifiable business expenses**." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2797 +msgid "Create all the employees" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2259 -msgid "Employees working **full-time** receive their full representation fees, while those working **part-time or with absences** only receive a **pro-rated portion** of the non-serious fees." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2798 +msgid "Create a contract and set its status to :guilabel:`Running` for each employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2265 -msgid "Sick time off and relapse" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2800 +msgid "In the contract, choose the :guilabel:`Work Entry Source`. It tells the system how work entries for an employee should be generated. It can be based on:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2267 -msgid "In Belgium, sick leave is managed according to two main regimes:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2803 +msgid ":guilabel:`Working Schedule`: Odoo uses the predefined working hours and days set in the employee's working schedule to generate work entries. This is useful for regular, predictable shifts." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2269 -msgid "**With guaranteed salary**: The employer continues to pay the worker's salary for a specified period." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2806 +msgid ":guilabel:`Attendances`: Work entries are generated from the employee's attendance records (i.e., when they check-in and check-out)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2271 -msgid "**Without guaranteed salary**: The worker receives benefits from the mutual insurance company after the guaranteed salary period." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2808 +msgid ":guilabel:`Planning`: Work entries are created based on the validated shifts or slots allocated to the employee in the **Planning** app (often used for scheduling roles like retail shifts, restaurants, etc.)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2275 -msgid "Sick leave with guaranteed salary" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2812 +msgid "Generate the work entries each month" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2277 -msgid "The guaranteed salary is a period during which the employer continues to pay the salary of the worker who is unable to work." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2814 +msgid "Odoo automatically creates the work entries in the **Payroll** app based on the work entry source of the contract and the different time-offs taken. You can edit the work entries manually. You can always decide to regenerate work entries manually but be careful if you already made some manual changes, Odoo will regenerate the work entries based on what it knows (e.g., your working schedule and time off)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2280 -msgid "**Employees**: The employer pays 100% of the salary during the first full month of incapacity. After this period, if the incapacity continues, the worker falls under the mutual insurance regime." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2819 +msgid "Managing conflicts" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2284 -msgid "Sick leave without guaranteed salary" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2821 +msgid "Conflicts are pointing to entries that can't be validated without your intervention. This means you'll have to qualify the entry and decide which is the correct entry to be defined for the time period if you want to be able to generate the payslip or validate the entries. Conflicts arise when there are overlapping entries or when Odoo detects that there is a time off request still pending for validation. For instance, if an employee is marked as attending work and at the same time there's a paid leave request to be validated for the same period, that's a conflict." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2286 -msgid "After the guaranteed salary period, the ONEM (National Employment Office) or the mutual insurance company takes over." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2828 +msgid "Conflicts can be managed by filtering on the conflicting entries and resolving the discrepancy. Since **Odoo 16.4**, Odoo filters by default on conflicting entries. For prior versions, you can still filter manually on conflicting entries or use the conflicting menu item." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2289 -msgid "**Long-term illness**: An incapacity lasting more than 30 days leads to benefits from the mutual insurance company." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2831 +msgid "Once the conflict is resolved you can either proceed to generate the payslips for your employees or export your work entries to the right entity." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2291 -msgid "**Relapse**: If a worker returns to work and then becomes ill again for the same reason within 14 days, this may be considered a relapse, and the rules for guaranteed salary may be adjusted." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2835 +msgid "Export work entries" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2295 -msgid "Management in Odoo" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2838 +msgid "This section is about exporting work entries to SD Worx, but the configuration and behavior is similar for other exports to Partena, Group S and UCM." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2297 -msgid "In Odoo, sick leave is automatically managed if the absences are related to the *Sick Time Off* work entry type." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2844 +msgid "This sheet is here to help you learn how Odoo's **SD Worx** (`l10n_be_hr_payroll_sd_worx`) module simplifies payroll by enabling easy export of work entries. This guide provides quick steps to generate :file:`.txt` files for direct import into SD Worx calendars, saving time and ensuring accuracy." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2300 -msgid "**Recording time off**: The employee records their absence through the **Time Off** module." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2849 +msgid "First and foremost, it's important to understand there is no direct integration between Odoo and SD Worx. There is no automatic exchange of information, either way. Odoo does not communicate directly with SD Worx, and the reverse is also true." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2301 -msgid "**Automation of work entries**: If the request is approved, Odoo automatically generates the corresponding Work Entries." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2856 +msgid "In reality, Odoo provides a standardized export in .txt format for employees' work entries, allowing the generation of a file that conforms to a specific format for inputting these entries into the SD Worx software." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2303 -msgid "**Impact on payroll**: The guaranteed salary is automatically calculated according to the rules configured based on the worker's status (employee)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2861 +msgid "What does it mean in terms of data management?" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2305 -msgid "**Compensation after the guaranteed salary**: Once the guaranteed salary period has expired, Odoo adjusts the Work Entries to reflect the transition to the mutual insurance company." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2863 +msgid "Since there is no direct integration between both systems, it implies that certain data will need to be manually entered into both systems. For instance, when you create a new employee in Odoo, you'll also need to manually create the employee in SD Worx (and vice versa). This manual data entry requirement extends to various aspects such as contracts, work schedules, salary details, and personal information about employees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2308 -msgid "Thus, Odoo ensures a smooth and compliant management of sick leave according to Belgian regulations." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2869 +msgid "Essentially, all the information necessary for SD Worx to calculate salaries and generate payslips must be manually inputted into both systems." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2313 -msgid "Social Balance Sheet" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2873 +msgid "What's the advantage of exporting to SD worx?" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2318 -msgid "The *Social Balance Sheet* was introduced by the law of December 22, 1995, as part of measures for the implementation of the multi-year employment plan. Companies required to file annual accounts (including some that are not obligated to publish such accounts - see the `National Bank of Belgium website `_ for details) must also prepare and submit a Social Balance Sheet to the National Bank of Belgium." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2875 +msgid "Odoo is an integrated software that can comprehensively handle all variable payroll elements, including employee personal information, contract details, various time-off types, and other work entry categories. Through Odoo's integration capabilities, you can access all this crucial data in one centralized location, making it easily accessible for your HR team and employees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2324 -msgid "The Royal Decree of August 4, 1996, incorporates the Social Balance Sheet into the annual accounts, specifically as an annex. This makes it an integral part of a company's financial statements." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2880 +msgid "This integration not only ensures data accuracy but also maintains consistency, reducing the likelihood of errors when transmitting work entry information to your external payroll provider. With the module in place, a single click generates a :file:`.txt` file that's ready for direct import into SD Worx, streamlining the entire data transmission process." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2328 -msgid "Contents of the Social Balance Sheet" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2886 +msgid "Steps to set up the SD Worx module" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2330 -msgid "The content of the Social Balance Sheet is determined by the Royal Decree of January 30, 2001, implementing the Company Code. The Social Balance Sheet consists of several sections:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2889 +msgid "You must be logged into a Belgian company for the following steps to work." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2333 -msgid "Sections I and II: Information on employed persons and personnel movements during the fiscal year." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2891 +msgid ":ref:`install ` the **Belgium - Payroll - Export to SD Worx** (`l10n_be_hr_payroll_sd_worx`) module." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2334 -msgid "Section III: Initiatives related to training." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2893 +msgid "Go to :menuselection:`Payroll app --> Configuration --> Settings` to fill in the :guilabel:`SD Worx code` field. This is the company's SD Worx code, you get it directly from the SD worx software. When you create a company, it has a unique identifier which you need to set in the field." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2336 -msgid "Since the Social Balance Sheet is part of a company's annual accounts, the works council receives this information as part of its mission regarding economic and financial information." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2897 +msgid "For each employee, under the :guilabel:`Settings` tab, fill in the :guilabel:`SDWorx code` field." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2339 -msgid "Additionally, the works council receives data on employment-related benefits along with annual employment-related information (Trillium). These details were fully integrated into the Social Balance Sheet until 2008." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2898 +msgid "For work entry types, under the :guilabel:`Settings` tab, fill in the :guilabel:`SDWorx code` field as well." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2344 -msgid "Scope of the Social Balance Sheet" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2901 +msgid "You can now export your work entries in the SD Worx :file:`.txt` format by opening the wizard under :menuselection:`Payroll app --> Reporting --> Belgium --> Export Work Entries to SDWorx`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2346 -msgid "The Social Balance Sheet contains specific data related to workforce composition, staff turnover, and training programs. Some organizations not required to publish annual accounts must still file a separate Social Balance Sheet. This applies primarily to certain hospitals and private legal entities employing at least 20 full-time equivalents (FTEs)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2904 +msgid "The file contains a series of lines such as the following line of text: `1111110000024K2023042370100360`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2351 -msgid "Any company, association, or foundation with at least 20 workers on an annual average (in FTE) must complete and submit the Social Balance Sheet." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2907 +msgid "Each line represents a work entry, and the structure is outlined below:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2354 -msgid "The Social Balance Sheet is part of:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2909 +msgid "`111111` -> Company SD Worx code" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2356 -msgid "\"Other documents to be filed under the Company and Associations Code\" (for companies);" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2910 +msgid "`0000024` -> Employee SD Worx code" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2357 -msgid "\"Explanatory Notes\" (for associations and foundations)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2911 +msgid "`K` -> Delimiter" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2360 -msgid "Obligations by entity type" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2912 +msgid "`20230423` -> Date" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2363 -msgid "Companies, associations, and foundations required to publish a Social Balance Sheet" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2913 +msgid "`7010` -> SD Worx work entry code" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2365 -msgid "For Belgian companies employing at least one FTE:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2914 +msgid "`0360` -> Duration (edited)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2367 -msgid "**Standardized model**: This schema includes a \"Social Balance Sheet\" section, which must be completed." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2916 +msgid "Once the :file:`.txt` file is exported, it can be directly imported in this format into the SD Worx software. Doing so updates the calendars of each collaborator." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2369 -msgid "**Specific model**: If the model used does not include a Social Balance Sheet, it must be provided separately." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2922 +msgid "274.XX sheets" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2372 -msgid "For Belgian associations and foundations employing at least 20 FTEs:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2924 +msgid "This section provides an overview of Declaration 274, its components, and how it is handled within Odoo." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2374 -msgid "**Standard model**: Includes a \"Social Balance Sheet\" section that must be completed." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2928 +msgid "Declaration 274.10" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2375 -msgid "**Specific model**: A separate Social Balance Sheet must be submitted if the chosen model does not include one." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2930 +msgid "Withholding tax is an advance payment on professional income tax. It is calculated based on guidelines established by the tax administration. While reducing withholding tax is generally not allowed, employees may request to pay more in order to better match their final tax liability." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2378 -msgid "Associations and foundations with fewer than 20 FTEs may voluntarily complete the Social Balance Sheet but are not legally required to do so." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2934 +msgid "Withholding tax must be deducted from both employees' and company directors' income. If the withholding tax is insufficient, advance tax payments must be made to avoid additional tax penalties." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2381 -msgid "For foreign companies, such as branches of foreign corporations and foreign non-profit organizations (ASBL) with activities in Belgium, the Social Balance Sheet applies only to their Belgian operations." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2938 +msgid "In practice, some employees do not inform their employer of personal changes (e.g., having a child), which can affect tax calculations." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2385 -msgid "The Social Balance Sheet is made publicly available by the Central Balance Sheet Office as part of the financial statements submission." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2941 +msgid "Withholding tax must be declared and paid either quarterly or monthly using form 274. These declarations must be submitted via the FINPROF application by the 15th of the month following the reporting period." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2389 -msgid "Entities required to file a separate Social Balance Sheet" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2945 +msgid "Taxable income and corresponding withholding tax must be recorded in fiscal remuneration forms 281.x and summary statements 325x. Employers failing to report these correctly may be subject to a 309% penalty on undisclosed amounts." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2391 -msgid "Certain organizations that do not need to publish annual accounts must still submit a Social Balance Sheet to the Central Balance Sheet Office. This data is used exclusively for statistical purposes and is not made publicly available. Submission in these cases is free of charge." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2949 +msgid "The tax administration compares the declared amounts in form 274 with the amounts reported in the fiscal forms. If withholding tax payments are insufficient, the company may be charged the difference. If a 274 form is submitted without corresponding tax payment, additional tax penalties will apply." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2395 -msgid "This exception applies to:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2954 +msgid "It is crucial to adhere to all administrative guidelines to avoid unexpected tax charges." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2397 -msgid "**Hospitals**, unless they are structured as limited liability companies or large ASBLs, which must submit full financial statements, including the integrated Social Balance Sheet." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2957 +msgid "Declarations 274.32, 274.33, 274.34" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2399 -msgid "**Private legal entities** that are not required to submit annual accounts but have at least 20 employees." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2960 +msgid "Withholding tax exemptions for research employees" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2402 -msgid "The required model depends on the entity type:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2962 +msgid "Companies employing scientific researchers may qualify for withholding tax reductions under specific conditions:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2404 -msgid "**Hospitals** must use the full or abridged Social Balance Sheet model based on their size." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2965 +msgid "**Form 281.32** applies to civil engineers and PhD holders." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2405 -msgid "**Foreign entities** must use the full or abridged Social Balance Sheet model, based on the size of their Belgian establishments." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2966 +msgid "**Form 281.33** applies to employees holding a master's degree." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2407 -msgid "**Private legal entities** with at least 50 employees must use the full model, while those with 20-49 employees may use the abridged model." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2967 +msgid "**Form 281.34** applies to employees holding a bachelor's degree." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2411 -msgid "Social Balance Sheet models" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2969 +msgid "Employers engaged in scientific research may be eligible for an exemption from withholding tax payments. To qualify, they must register their R&D projects with Belspo. From August 1, 2023, this registration must occur before the project begins." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2413 -msgid "The latest versions of the Social Balance Sheet models can be found at the following links:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2974 +msgid "Tax exemption details" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2415 -msgid "**Full Model**" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2976 +msgid "This tax incentive allows companies to retain 80% of the withholding tax deducted from researchers' salaries. However, the exemption rate differs for researchers based on their qualifications:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2417 -msgid "PDF: `Full Social Balance Sheet PDF `_" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2979 +msgid "PhD and master's degree holders: Full 80% exemption." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2418 -msgid "Word: `Full Social Balance Sheet Word `_" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2980 +msgid "Bachelor's degree holders: 50% of the full exemption amount." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2420 -msgid "**Abridged Model**" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2981 +msgid "For non-SME companies, this limit is further reduced to 25%." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2422 -msgid "PDF: `Abridged Social Balance Sheet PDF `_" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2983 +msgid "The exemption applies only to the portion of working time dedicated to scientific research, covering fundamental research, industrial research, or experimental development." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2423 -msgid "Word: `Abridged Social Balance Sheet Word `_" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2986 +msgid "This exemption does not affect the net salary of employees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2426 -msgid "Assistance in completing the Social Balance Sheet" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2989 +msgid "Capping rules" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2428 -msgid "For guidance on completing the Social Balance Sheet, refer to the following resources:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2991 +msgid "The total exemption granted to researchers with a bachelor's degree is limited to 25% of the exemption granted to PhD and master's degree holders. For small companies (as defined in Article 15 §§ 1-6 of the Companies Code), this limit is doubled. These rules have remained unchanged since January 1, 2020." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2430 -msgid "**CNC Opinion S100**: `Questions and Answers on the Social Balance Sheet `_" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2997 +msgid "How it works in Odoo" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2431 -msgid "**CNC Opinion 2009/12**: `Social Balance Sheet and Statutory Workers `_" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2999 +msgid "Odoo automates the calculation and declaration of withholding tax exemptions using predefined payroll structures. Below is an explanation of how the system processes these exemptions." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2432 -msgid "**Explanatory Note**: `Information on Training Activities `_" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3002 +msgid "Navigate to :menuselection:`Payroll app --> Reporting --> 274.XX Sheets` to create a new declaration." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2435 -msgid "Submitting a separate Social Balance Sheet" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3005 +msgid "Select the reference :guilabel:`Year` and :guilabel:`Month`, and the different amounts are computed accordingly." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2437 -msgid "A separate Social Balance Sheet must be submitted online as a PDF via the **Filing** application. The model can be selected under :guilabel:`Other Documents`, with options for :guilabel:`Abridged Social Balance Sheet` or :guilabel:`Full Social Balance Sheet`." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3008 +msgid "**Payroll calculation**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2441 -msgid "For further details, visit the National Bank of Belgium's website: `www.nbb.be `_." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3010 +msgid "Odoo calculates gross salary and total withholding tax." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2444 -msgid "Generating Social Balance Sheet in Odoo" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3011 +msgid "It accounts for specific payroll components, including December double bonuses." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2446 -msgid "Navigate to :menuselection:`Payroll app --> Reporting --> Belgium --> Social Balance Sheet` and select the reference :guilabel:`Period`." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3013 +msgid "**Filtering eligible payslips**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Social Balance Sheet Wizard." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3015 +msgid "Payslips linked to research-related contracts are considered." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2452 -msgid "Then click :guilabel:`Export to PDF` or :guilabel:`Export to XLSX` to generate the social balance sheets containing all the data available in your Odoo database." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3016 +msgid "Employees are categorized based on their qualifications (PhD, master's, or bachelor's degrees)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2455 -msgid "The different pieces of information are split by gender, or by working schedule (Part Time, Full Time, Full Time equivalent), for the whole period, and month by month, as requested by the National Bank of Belgium." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3018 +msgid "**Exemption calculation**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Social Balance Sheet PDF Header." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3020 +msgid "The withholding tax exemption is calculated at 80% of the withheld amount." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Social Balance Sheet PDF Content." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3021 +msgid "Exemptions for bachelor's degree holders are capped according to regulations." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Social Balance Sheet XLSX Content." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3023 +msgid "**Final adjustments**" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2471 -msgid "Social Security certificate" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3025 +msgid "The system ensures compliance with legal capping rules." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2473 -msgid "The Social Security certificate in Odoo provides a detailed breakdown of all social charges paid by the employee or employer, categorized by type (e.g., year-end bonus, private car reimbursement, double holiday pay, etc.). This report is particularly useful for audit companies and for verifying that the declared amounts align with accounting entries." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3026 +msgid "If necessary, adjustments are made based on the total exemption granted." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2479 -msgid "Accessing the Social Security certificate" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3028 +msgid "Click on :guilabel:`Export XML file` to generate the file to post on FINPROF portal and the structured communication to link to your payment." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2481 -msgid "To generate the Social Security certificate, follow these steps:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 +msgid "274.XX XML file." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2483 -msgid "Navigate to :menuselection:`Payroll app --> Reporting --> Belgium --> Social Security Certificate`." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3034 +msgid "Click on :guilabel:`Create 274.XX Sheets` to generate the :file:`.pdf` files of those declarations." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2485 -msgid "Select the reference :guilabel:`Period`." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3037 +msgid "In order to for the exemption to work properly, the *Certificate Level* should be correctly configured on the employee's form." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2486 -msgid "Choose the data :guilabel:`Aggregation Level`:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3040 +msgid "The *Time Percentage R&D* rate should be specified on the employee's contract form as well." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2488 -msgid ":guilabel:`Whole Company`" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3042 +msgid "If the accounting application is installed and running properly, you can also post directly the different amounts in your accounting entries with the :guilabel:`Post Journal Entries` button." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2489 -msgid ":guilabel:`By Department`" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3046 +msgid "If the *Post Journal Entries* is not present on the wizard, you need to configure the journal and the different accounts for each amount type from :menuselection:`Payroll app --> Configuration --> Settings`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2490 -msgid ":guilabel:`By Employee`" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3050 +msgid "In the :guilabel:`Belgian Localization` section, complete each of the :guilabel:`Witholding Taxes Exemption` journal entry accounts." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Social Security Certificate Wizard." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3053 +msgid "Employers using Odoo can efficiently manage and report withholding tax exemptions, ensuring compliance with regulatory requirements." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2496 -msgid "Exporting the report" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3056 +msgid "For further details, consult the Odoo finance documentation or your tax adviser." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2498 -msgid "Once the selections are made, you can export the report in different formats:" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3061 +msgid "281.10 Declaration" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2500 -msgid "Click :guilabel:`Export to PDF` to generate a printable version of the Social Security certificate." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3066 +msgid "The Belgian fiscal declaration 281.10 is an annual statement that employers must submit to the tax authorities, detailing the salaries and benefits provided to each employee. This declaration ensures accurate tax calculations and compliance with Belgian tax regulations." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2502 -msgid "Click :guilabel:`Export to XLSX` to generate an Excel file containing all relevant data." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3071 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3141 +msgid "Generating the declaration in Odoo" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Social Security Certificate PDF Header." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3073 +msgid "Odoo provides a streamlined process for generating the 281.10 declaration, offering both a comprehensive XML file for electronic submission and individual PDF files for record-keeping." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Social Security Certificate PDF Content." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3077 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3147 +msgid "Global XML declaration" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Social Security Certificate XLSX Content." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3079 +msgid "To generate the global XML file in Odoo, navigate to :menuselection:`Payroll app --> Reporting --> 281.10 Sheet`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2513 -msgid "This feature ensures full transparency and compliance with social security regulations in Belgium." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3082 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3152 +msgid "Then, create a new record by selecting the reference :guilabel:`Year`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2523 -msgid "Legal time off" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3085 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3155 +msgid "The :guilabel:`Sending Type` and :guilabel:`Treatment Type` options are currently experimental and should be kept at their default values to ensure a valid original declaration." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2525 -msgid "This guide provides an overview of the basic rules governing legal holiday entitlements in Belgium for employers using Odoo." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3088 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3158 +msgid "Click the :guilabel:`Populate` button to generate the eligible employees, then click the :guilabel:`Create XML` button. A green indicator will appear to confirm successful file generation." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2529 -msgid "Holiday entitlement calculation" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3092 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3162 +msgid "Individual PDF declaration" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2531 -msgid "Your holiday entitlement for the current year (N) is determined by the number of months worked in Belgium during the previous year (N-1)." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3094 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3164 +msgid "To generate individual PDF files for each employee, click the :guilabel:`Populate` button. A line is generated for each employee who received a payslip during the reference year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2534 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2565 -msgid "**Calculation details:**" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3098 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3168 +msgid "The PDF files are generated automatically in batches of 30, so the process may take some time to complete." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2536 -msgid "Employees earn **2 days of leave per month** based on a 6-day work week." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3105 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3175 +msgid "Select the employees whose documents you want to post, then click the :guilabel:`Post PDF` button." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2537 -msgid "The entitlement is adjusted for a 5-day work week: :math:`(\\text{Total Days} \\div 6) \\times 5`." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3107 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3177 +msgid "Once posted, employees can access the PDF from their documents portal via the :icon:`fa-file-text` :guilabel:`Documents` smart button on their profile." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2540 -msgid "If an employee worked **7 months** in the previous year (N-1):" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3111 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3181 +msgid "Submitting the XML declaration" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2542 -msgid "**6-day work week:** :math:`7 \\times 2 = 14 \\text{ days}`" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3113 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3183 +msgid "After generating the XML file, it must be submitted to the Belgian tax authorities. Ensure you are familiar with the `official submission process `_." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2543 -msgid "**5-day work week:** :math:`14 \\div 6 \\times 5 = 11.67 \\text{ days}`" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3117 +msgid "The XML files containing the fiscal data to be sent via the Belcotax-on-web (BOW) application must be converted to the .bow format." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2545 -msgid "**Partial Month Calculation:**" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3120 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3190 +msgid "This conversion requires the use of a validation module available under the *Technical Documentation* section." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2547 -msgid "Worked **1st to 10th**: Full month counted." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3123 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3193 +msgid "The validation module has two prerequisites:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2548 -msgid "Worked **11th to 19th**: Half month counted." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3125 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3195 +msgid "Java 8 must be installed." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2549 -msgid "Worked **20th onwards**: Month not counted." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3126 +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3196 +msgid "The certificate authority that signed the validation module must be recognized." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2551 -msgid "**Rounding Rules:**" +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3131 +msgid "281.45 Declaration" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2553 -msgid "Less than **0.35**: Round to **0**." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3136 +msgid "The Belgian fiscal declaration 281.45 is an annual statement that entities must submit to the tax authorities, detailing the amounts of author's rights and neighboring rights paid to beneficiaries. This declaration ensures accurate tax reporting and compliance with Belgian tax regulations." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2554 -msgid "Between **0.35 - 0.74**: Round to **0.5**." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3143 +msgid "Odoo provides a streamlined process for generating the 281.45 declaration, offering both a comprehensive XML file for electronic submission and individual PDF files for record-keeping." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2555 -msgid "**0.75 and above**: Round to **1**." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3149 +msgid "To generate the global XML file in Odoo, navigate to :menuselection:`Payroll app --> Reporting --> 281.45 Sheet`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2557 -msgid "For a full-time employee, this typically results in **11.5 days of legal holiday** entitlement." +#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3187 +msgid "The XML files containing the fiscal data to be sent via the Belcotax-on-web (BOW) application must be converted to the :file:`.bow` format." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2560 -msgid "Maximum holiday entitlement" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:3 +msgid "Egypt" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2562 -msgid "Employees are entitled to a maximum of **4 weeks** of holiday based on their working schedule. If an employee switches between full-time and part-time work, their entitlement is adjusted accordingly." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:5 +msgid "The Egypt **Payroll** localization package enables payroll processing that fully complies with Egyptian labor laws. It calculates progressive income tax, employee- and employer-paid social security, and core salary components, including housing and transportation allowances." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2567 -msgid "**5-day work week**: :math:`4 \\times 5 = 20 \\text{ days}`" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:12 +msgid ":ref:`Install ` the following modules to get all the features of the Egypt **Payroll** localization:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2568 -msgid "**4-day work week**: :math:`4 \\times 4 = 16 \\text{ days}`" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:18 +#: ../../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/united_arab_emirates.rst:20 +#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:39 +msgid "Name" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2569 -msgid "**3-day work week**: :math:`4 \\times 3 = 12 \\text{ days}`" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:19 +#: ../../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/united_arab_emirates.rst:21 +#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:40 +msgid "Technical name" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2572 -msgid "If an employee joined **Odoo on January 1, 2024**, and plans to switch to a **3-day work week from April 1, 2024**:" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:20 +#: ../../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/united_arab_emirates.rst:22 +#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:42 +msgid "Description" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2575 -msgid "**Step 1: Calculate holiday entitlement for 2024**" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:21 +msgid ":guilabel:`Egypt - Payroll`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2577 -msgid "The employee worked **9 months in 2023**." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:22 +msgid "`l10n_eg_hr_payroll`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2578 -msgid "**6-day work week basis**: :math:`9 \\times 2 = 18 \\text{ days}`" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:23 +msgid "Payroll module includes all salary rules, leave logic, and compensation rules compliant with Egyptian Labor Law." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2579 -msgid "Adjusted for **5-day work week**: :math:`18 \\div 6 \\times 5 = 15 \\text{ days}`" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:25 +msgid ":guilabel:`Egypt - Payroll with Accounting`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2581 -msgid "**Step 2: Verify maximum holiday entitlement**" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:26 +msgid "`l10n_eg_hr_payroll_account`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2583 -msgid "For a **5-day work week**, the maximum entitlement is **20 days**." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:27 +msgid "Adds account mappings related to payroll calculations." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2584 -msgid "Since the employee is entitled to **15 days**, they remain within the limit." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:30 +msgid ":doc:`Egypt fiscal localization documentation <../../../finance/fiscal_localizations/egypt>`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2586 -msgid "**Step 3: Adjust entitlement for the new work schedule**" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:33 +msgid "Egyptian employee contracts" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2588 -msgid "From April 1, 2024, the employee moves to a **3-day work week**." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:35 +msgid "Once an employee has been :doc:`created in the database <../../employees/new_employee>`, a :ref:`contract must be created `." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2589 -msgid "Maximum entitlement for a **3-day work week**: :math:`3 \\times 4 = 12 \\text{ days}`." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:38 +msgid "To check if the user already has a contract, navigate to the **Employees** app, then click on the employee's Kanban card. The :icon:`fa-book` :guilabel:`Contracts` smart button displays a red zero when no contract exists. Otherwise, it displays :guilabel:`In contract since (contract start date)` in green." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2590 -msgid "If no leave is taken before April 1, the employee may take up to **12 days** from their 15-day entitlement." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:44 +msgid "Contracts can also be found by navigating to :menuselection:`Employees app --> Employees --> Contracts`. All contracts appear in a list view, grouped by status." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2592 -msgid "The **remaining 3 days** will be settled at the end of the year." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:47 +msgid "Populate the following contractual information in the :guilabel:`Salary Information` tab of the contract:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2594 -msgid "This ensures compliance with Belgian legal leave regulations and allows employers to manage holiday entitlements effectively within Odoo." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:50 +msgid ":guilabel:`Social Insurance Reference Amount`: Used as the base amount for calculating the :ref:`social insurance employee and employer portions `." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2598 -msgid "Legal time off allocation" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:53 +msgid ":guilabel:`Number of Leave Days`: Used for calculating the :ref:`provision amount for the annual leave for the employee `." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2600 -msgid "This is possible to generate the legal time off for all your employees at the beginning of a new year using the wizard in :menuselection:`Payroll app --> Reporting --> Belgium --> Paid Time Off Allocation`." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:55 +msgid ":guilabel:`Provision Number of Days`: Corresponds with the number of days used in the calculation of the :ref:`provision value of the end of service for the employee `." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2604 -msgid "Based on your employees occupation over last year, the number of available time off is pre-computed for each employee." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:58 +msgid ":guilabel:`Total Number of Days`: Refers to the number of days used to calculate the :ref:`end-of-service benefit paid to the employee when their employment with the company ends `." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Paid Time Off Allocation Wizard." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:65 +msgid "Social insurance" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2610 -msgid "Once validated, a draft allocation is generated for each single employee, waiting a manual confirmation that can be done in batch." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:67 +msgid "Social insurance rules calculate the contribution amounts that are to be paid by the employer and employee to the :abbr:`NOSI (National Organization for Social Insurance)`. This is only available for Egyptian employees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Paid Time Off Allocations." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:71 +msgid "The employer contributes 18.75% of the social insurance reference amount for the employee. On the other hand, the employee contributes 11% of their insurance reference amount, and that amount gets deducted from the payslip amount." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2619 -msgid "European time off" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:76 +msgid "The social insurance reference amount is set per employee in their contracts." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2622 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2854 -msgid "How does it work?" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:79 +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:195 +msgid "Leaves" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2624 -msgid "If you were not subject to Belgian ONSS contributions before joining our company and do not have entitlement to legal holidays, or if your entitlement is incomplete, you can apply for European leave." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:81 +msgid "The following leave types are available to employees working in Egypt: :ref:`Annual leave `, :ref:`Sick leave `, :ref:`Unpaid leave `, and :ref:`Other leave types `." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2628 -msgid "To qualify for European leave in a given year, you must work for at least 3 months during that year, whether with us or another employer. Once you have met this requirement, you will earn 5 days of European leave. Subsequently, you will accumulate additional days of vacation each month as follows:" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:91 +msgid "Employees are eligible for 21 days of annual leave, and if the employee requires more days, they have to be :ref:`requested from HR managers ` accordingly." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2632 -msgid "After 3 months: 5 days" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:95 +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:203 +msgid "Since the annual leave is fully paid, it is not connected to a salary rule, but it will appear on the worked days on the payslip form and on the PDF printout." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2633 -msgid "After 4 months: 7 days" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:101 +msgid "Sick leave" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2634 -msgid "After 5 months: 9 days" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:103 +msgid "Three cases exist for sick leaves in terms of the amount to be deducted from the employee:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2635 -msgid "After 6 months: 10 days" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:105 +msgid ":guilabel:`Fully paid`: first 30 calendar days each year (affects only working entries; no payroll deduction)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2636 -msgid "After 7 months: 12 days" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:108 +msgid "**Payroll computation** =(Daily Wage)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2637 -msgid "After 8 months: 14 days" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:110 +msgid ":guilabel:`75% paid`: next 60 days; payroll rule deducts 25% of an employee's salary." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2638 -msgid "After 9 months: 15 days" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:112 +msgid "**Payroll computation** =(Daily Wage * 0.25)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2639 -msgid "After 10 months: 17 days" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:114 +msgid ":guilabel:`0% paid`: after 90 days; payroll rule deducts 100% of an employee's salary." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2640 -msgid "After 11 months: 19 days" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:116 +msgid "**Payroll computation** =(Daily Wage * 0.00)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2643 -msgid "The total of legal leave and European leave cannot exceed 20 days per year. You must use all your legal holidays before taking European leave." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:121 +msgid "Unpaid leave" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2646 -msgid "European leave entitlement expires on December 31st of the year it is earned and cannot be carried over to the following year. To qualify for European leave in a new year, you must complete another 3 months of work." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:123 +msgid "Deductions are applied on the employee's salary based on the number of unpaid leave days taken, and it is calculated by dividing the monthly salary for the employee by 30 to get the daily salary and then multiplying it by the number of unpaid leave days taken." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2651 -msgid "How are these days paid?" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:130 +msgid "Other leave types" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2653 -msgid "European leaves are paid holidays taken in advance of your \"Double Holiday Pay\" (the June extra pay) for the following year. Essentially, the more European leave days you take in a given year, the less you will receive as June extra pay in the following year." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:132 +msgid "These are leave types considered fully paid and do not affect the end payslip, but are tracked in the working entries:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2660 -msgid "Working schedule change" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:135 +msgid "Maternity leave" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2662 -msgid "This guide explains how to modify an employee's working time schedule in the Belgian payroll module of Odoo. Changing an employee's working hours affects their wage calculation, time-off allocation, and contract terms." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:136 +msgid "Hajj leave" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2667 -msgid "Steps to change an employee's working schedule" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:137 +msgid "Death leave" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2669 -msgid "Navigate to the employee's contract (:menuselection:`Payroll app --> Contracts`), and select the contract of the employee whose working schedule you want to modify." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:140 +msgid "Income tax" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2671 -msgid "Click on :icon:`fa-cog` :guilabel:`(Action)` and select :guilabel:`Working Schedule Change`. The wizard displays the current contract details and allows you to set new working time parameters." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:142 +msgid "In Egypt, employees are subject to a progressive income tax system, where tax rates increase with higher annual income brackets." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2673 -msgid "Set the new working schedule:" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:148 +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:227 +msgid "Depending on the annual income of the employee, the following rates apply:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2675 -msgid "Choose the new :guilabel:`Working Schedule` from the available resource calendars." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:154 +msgid "Taxable Amount" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2676 -msgid "Define the :guilabel:`Start Date` for the change (mandatory)." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:155 +msgid "<600k" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2677 -msgid "If applicable, specify an :guilabel:`End Date`." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:156 +msgid "600k - 699k" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2678 -msgid "If the :guilabel:`Part Time` checkbox is selected, any difference between the reference calendar and the employee's new calendar will be covered using the *Absence Work Entry Type*. This ensures that the employee's monthly salary remains the same, regardless of the number of absence days in a given month. This setup is required for configuring *Time Credit*, *Parental Leave*, or *Medical Half-Time* correctly." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:157 +msgid "700k - 799k" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2684 -msgid "Adjust the employee's wage:" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:158 +msgid "800k - 899k" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2686 -msgid "The wizard automatically computes the full-time equivalent wage based on the new working schedule." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:159 +msgid "900k - 1.2M" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2688 -msgid "You can review and modify the new wage if necessary." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:160 +msgid ">1.2M" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2690 -msgid "Manage time off allocation:" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:161 +msgid "0%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2692 -msgid "Select the relevant :guilabel:`Time Off Type`." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:162 +msgid "1-40k" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2693 -msgid "Odoo automatically adjusts the employee's time-off entitlement based on the new working schedule using the following formula:" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:168 +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:237 +msgid "10%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2696 -msgid "\\text{New Time Off Allocation} = \\max(\\min(\\text{ Computed Allocation},\n" -"\\text{ Max Allocation}) + \\text{ Leaves Taken}, \\text{ Leaves Taken})" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:169 +msgid "More than 40k to 55k" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2702 -msgid "**Computed Allocation** is the expected leave allocation based on the new schedule." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:170 +msgid "1 - 55k" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2703 -msgid "**Max Allocation** is the maximum number of days allowed under the new working time." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:175 +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:239 +msgid "15%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2704 -msgid "**Leaves Taken** ensures the employee does not receive fewer days than already used." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:176 +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:177 +msgid "More than 55k to 70k" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2706 -msgid "Decide on a follow-up contract" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:178 +msgid "1 - 70k" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2708 -msgid "If the working time change is temporary, you can enable :guilabel:`Post Change Contract Creation` to automatically create a contract that resumes the previous working schedule after the specified end date." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:182 +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:241 +msgid "20%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2712 -msgid "Validate the changes" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:183 +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:184 +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:185 +msgid "More than 70k to 200k" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2714 -msgid "Click :guilabel:`Validate` to apply the new working schedule." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:186 +msgid "1 - 200k" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2715 -msgid "If the new schedule is the same as the current one, an error will be displayed." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:189 +msgid "22.5%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2716 -msgid "The system will create a new contract with the updated working time and wage." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:190 +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:191 +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:192 +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:193 +msgid "More than 200k to 400k" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2717 -msgid "If a previous contract existed, it will be closed with an end date before the new contract begins." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:194 +msgid "1 - 400k" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2721 -msgid "Result" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:196 +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:243 +msgid "25%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2723 -msgid "The employee's new working schedule is recorded." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:197 +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:198 +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:199 +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:200 +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:201 +msgid "More than 400k" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2724 -msgid "Wage and time-off entitlements are adjusted accordingly." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:202 +msgid "1 - 1.2M" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2725 -msgid "A follow-up contract is created if applicable." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:203 +msgid "27.5%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "Working Schedule Change New Contracts." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:209 +msgid "More than 1.2M" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2733 -msgid "Work entries exports" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:212 +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:254 +msgid "Exemptions" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2736 -msgid "What are work entries?" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:214 +msgid "Employees are eligible to an EGP 20,000 personal exception on their gross income." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2738 -msgid "In the context of payroll, *work entries* typically refer to records or documentation related to an employee's work hours and earnings for a specific pay period. These entries are crucial for accurately calculating and processing employee compensation." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:217 +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:263 +msgid "Overtime" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2742 -msgid "Work entries in the context of payroll are essential for both employees and employers. They provide a transparent and accurate record of an employee's compensation and deductions, ensuring that employees are paid correctly and that tax and legal requirements are met. Payroll software and systems are commonly used to manage and automate these work entries, making the payroll process more efficient and accurate." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:219 +msgid "Depending on the time of day and the time at which the overtime is recorded in, the additional amount to be paid to the employee can be as follows:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2749 -msgid "Main concepts" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:222 +msgid "During daytime hours on working days, the amount is 1.35x times the employee's hourly wage." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2752 -msgid "General" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:223 +msgid "During nighttime hours on working days, the amount is 1.70x times the employee's hourly wage." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2754 -msgid "In Odoo, work entries mainly refer to *time entries* (attendance tracking), these are work entries that consist of time records, which include the number of hours worked by an employee during a given pay period. These entries may specify regular working hours, overtime hours, and any other relevant time-related information, such as breaks, paid time off, unpaid time off, parental leave, credit-time, etc." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:224 +msgid "On rest days and public holidays: The amount is 2.0x times the employee's hourly wage." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2760 -msgid "Work entries serve a dual role in payroll management. First, they enable organizations to independently compute employee payslips. Second, they facilitate the transmission of pertinent data to external payroll service providers, who then use this information to calculate and generate the payslips." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:227 +msgid "Overtime hours are registered as other inputs directly on payslips." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2768 -msgid "They have a Name: used to identify the type of entry (e.g., Attendance, Paid Time Off, etc.)." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:232 +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:277 +msgid "Provisions" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2769 -msgid "They have a Payroll Code: used in Odoo's salary rules computations" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:234 +msgid "Provisions are the amounts computed by the employer to account for the payments made to the employee for :abbr:`EOS (end-of-service)` benefits or annual leave. And it is computed on a monthly basis." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2770 -msgid "They have an External Code: used to provide the correct Work Entry code to an external payroll service provider." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:238 +msgid "End of service benefit provision" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2772 -msgid "They are generated based on the configuration of the contract and the time off types" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:240 +msgid "It is computed by dividing the end of service Provision Number of Days by 12 and multiplying the result by the daily salary for the employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2773 -msgid "They have a duration, a start and end date, a state and are always linked to an employee." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:243 +msgid "\\text{Payroll computation} = \\frac{\\text{Provision Number of Days}}{12} \\times \\frac{\\text{Wage} + \\text{Allowances}}{30}" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2778 -msgid "They are the main source of configuration for your work entries. Thanks to your different types of work entries, you'll be able to differentiate the time records of your employees." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:249 +msgid "Annual leave provision" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2780 -msgid "They have a name." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:251 +msgid "It is computed by dividing the number of leave days by 12 and multiplying the result by the daily salary for the employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2781 -msgid "They contain a code, external code, payroll code and a color for visual tracking." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:254 +msgid "\\text{Payroll computation} = \\frac{\\text{Number of Leave Days}}{12} \\times \\frac{\\text{Wage} + \\text{Allowances}}{30}" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2782 -msgid "They allow other types of configurations such as how they are displayed in payslips, decide whether this type of work entry should be considered as paid or unpaid (eg. unpaid leave), decide whether this type of work entry has a link with time off, is valid for some advantages or how it should be reflected in your reporting." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:262 +msgid "End of service" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2788 -#: ../../content/applications/hr/time_off.rst:42 -msgid "Time off types" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:264 +msgid "At the end of the service slip that is generated for the employee, there are the following points that are unique only to the payslip:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2790 -msgid "As mentioned above, since work entry types can be linked to a time off type, you are also able to define the work entry type for each time-off type. On the time off type you have a many2one relation with the work entry type." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:268 +msgid "Unused leaves compensation" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2795 -msgid "Steps to generate the work entries of your staff" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:270 +msgid "The number of available annual leaves is shown on the employee's record. It is based on the annual leave type defined in the Payroll settings. It is calculated as the total remaining allocations for that specific leave type assigned to the employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2797 -msgid "Create all the employees" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:274 +msgid "That number is then multiplied by the daily rate for the employee and added as an allowance on their payslip." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2798 -msgid "Create a contract and set its status to :guilabel:`Running` for each employee." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:278 +msgid "End of service benefit" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2800 -msgid "In the contract, choose the :guilabel:`Work Entry Source`. It tells the system how work entries for an employee should be generated. It can be based on:" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:280 +msgid "It is calculated by multiplying the daily wage of the employee by the number of days for the end of service that is set in the employee's contract." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2803 -msgid ":guilabel:`Working Schedule`: Odoo uses the predefined working hours and days set in the employee's working schedule to generate work entries. This is useful for regular, predictable shifts." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:283 +msgid "\\text{Payroll computation} = \\frac{\\text{Wage + Allowances}}{30} \\times \\text{End of Service Number of Days}" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2806 -msgid ":guilabel:`Attendances`: Work entries are generated from the employee's attendance records (i.e., when they check-in and check-out)." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:289 +msgid "Out of contract" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2808 -msgid ":guilabel:`Planning`: Work entries are created based on the validated shifts or slots allocated to the employee in the **Planning** app (often used for scheduling roles like retail shifts, restaurants, etc.)." +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:291 +msgid "Out-of-contract days are the days that fall within the payslip period but are not included in the employee's contract period. The corresponding amount is added as a deduction on the payslip and is calculated by multiplying the number of out-of-contract days by the employee's daily wage." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2812 -msgid "Generate the work entries each month" +#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:295 +msgid "\\text{Payroll computation} = \\frac{\\text Wage + Allowances}{\\text{Days in the Month}} \\times \\text{Out of Contract Days}" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2814 -msgid "Odoo automatically creates the work entries in the **Payroll** app based on the work entry source of the contract and the different time-offs taken. You can edit the work entries manually. You can always decide to regenerate work entries manually but be careful if you already made some manual changes, Odoo will regenerate the work entries based on what it knows (e.g., your working schedule and time off)." +#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:3 +msgid "Employment Hero Payroll" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2819 -msgid "Managing conflicts" +#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:5 +msgid "The `Employment Hero `_ module synchronises payslip accounting entries (e.g., expenses, social charges, liabilities, taxes) automatically from Employment Hero to Odoo. Payroll administration is still done in Employment Hero, but the **journal entries** are done in Odoo." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2821 -msgid "Conflicts are pointing to entries that can't be validated without your intervention. This means you'll have to qualify the entry and decide which is the correct entry to be defined for the time period if you want to be able to generate the payslip or validate the entries. Conflicts arise when there are overlapping entries or when Odoo detects that there is a time off request still pending for validation. For instance, if an employee is marked as attending work and at the same time there's a paid leave request to be validated for the same period, that's a conflict." +#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:11 +msgid "KeyPay was rebranded as **Employment Hero** in March 2023." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2828 -msgid "Conflicts can be managed by filtering on the conflicting entries and resolving the discrepancy. Since **Odoo 16.4**, Odoo filters by default on conflicting entries. For prior versions, you can still filter manually on conflicting entries or use the conflicting menu item." +#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:18 +msgid ":ref:`Activate ` the :guilabel:`Employment Hero Payroll` module (`l10n_employment_hero`)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2831 -msgid "Once the conflict is resolved you can either proceed to generate the payslips for your employees or export your work entries to the right entity." +#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:20 +msgid "Configure the **Employment Hero API** by going to :menuselection:`Accounting --> Configuration --> Settings`. More fields become visible after clicking on :guilabel:`Enable Employment Hero Integration`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2835 -msgid "Export work entries" +#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:0 +msgid "Enabling Employment Hero Integration in Odoo Accounting displays new fields in the\n" +"settings" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2838 -msgid "This section is about exporting work entries to SD Worx, but the configuration and behavior is similar for other exports to Partena, Group S and UCM." +#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:28 +msgid "The API Key can be found in the :guilabel:`My Account` section of the Employment Hero platform." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2844 -msgid "This sheet is here to help you learn how Odoo's **SD Worx** (`l10n_be_hr_payroll_sd_worx`) module simplifies payroll by enabling easy export of work entries. This guide provides quick steps to generate :file:`.txt` files for direct import into SD Worx calendars, saving time and ensuring accuracy." +#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:0 +msgid "\"Account Details\" section on the Employment Hero dashboard" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2849 -msgid "First and foremost, it's important to understand there is no direct integration between Odoo and SD Worx. There is no automatic exchange of information, either way. Odoo does not communicate directly with SD Worx, and the reverse is also true." +#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:33 +msgid "The **Payroll URL** is left empty by default to avoid any confusion. Please fill it according to the documentation specific to the localization." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2856 -msgid "In reality, Odoo provides a standardized export in .txt format for employees' work entries, allowing the generation of a file that conforms to a specific format for inputting these entries into the SD Worx software." +#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:37 +msgid "Employment hero is available for :ref:`Australia `, :ref:`Malaysia `, :ref:`New Zealand `, :ref:`Singapore `, and the :ref:`United Kingdom `." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2861 -msgid "What does it mean in terms of data management?" +#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:43 +msgid "The **Business ID** can be found in the Employment Hero URL. (i.e., `189241`)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2863 -msgid "Since there is no direct integration between both systems, it implies that certain data will need to be manually entered into both systems. For instance, when you create a new employee in Odoo, you'll also need to manually create the employee in SD Worx (and vice versa). This manual data entry requirement extends to various aspects such as contracts, work schedules, salary details, and personal information about employees." +#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:0 +msgid "The Employment Hero Business ID number is in the URL" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2869 -msgid "Essentially, all the information necessary for SD Worx to calculate salaries and generate payslips must be manually inputted into both systems." +#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:48 +msgid "Choose any Odoo journal to post the payslip entries." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2873 -msgid "What's the advantage of exporting to SD worx?" +#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:49 +msgid "Configure the tax by going to :menuselection:`Accounting --> Configuration --> Taxes`. Create the necessary taxes for the Employment Hero payslip entries. Fill in the tax code from **Employment Hero** in the :guilabel:`Matching Employment Hero Tax` field." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2875 -msgid "Odoo is an integrated software that can comprehensively handle all variable payroll elements, including employee personal information, contract details, various time-off types, and other work entry categories. Through Odoo's integration capabilities, you can access all this crucial data in one centralized location, making it easily accessible for your HR team and employees." +#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:54 +msgid "How does the API work?" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2880 -msgid "This integration not only ensures data accuracy but also maintains consistency, reducing the likelihood of errors when transmitting work entry information to your external payroll provider. With the module in place, a single click generates a :file:`.txt` file that's ready for direct import into SD Worx, streamlining the entire data transmission process." +#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:-1 +msgid "Example of a Employment Hero Journal Entry in Odoo Accounting (Australia)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2886 -msgid "Steps to set up the SD Worx module" +#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:63 +msgid "By default, the synchronisation happens once per week. The records can be fetched manually by going to :menuselection:`Accounting --> Configuration --> Settings` and, in the :guilabel:`Enable Employment Hero Integration` option, click on :guilabel:`Fetch Payruns Manually`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2889 -msgid "You must be logged into a Belgian company for the following steps to work." +#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:67 +msgid "Employment Hero payslip entries also work based on double-entry bookkeeping." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2891 -msgid ":ref:`install ` the **Belgium - Payroll - Export to SD Worx** (`l10n_be_hr_payroll_sd_worx`) module." +#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:69 +msgid "The accounts used by Employment Hero are defined in the section :guilabel:`Payroll settings`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2893 -msgid "Go to :menuselection:`Payroll app --> Configuration --> Settings` to fill in the :guilabel:`SD Worx code` field. This is the company's SD Worx code, you get it directly from the SD worx software. When you create a company, it has a unique identifier which you need to set in the field." +#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:-1 +msgid "Chart of Accounts menu in Employment Hero" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2897 -msgid "For each employee, under the :guilabel:`Settings` tab, fill in the :guilabel:`SDWorx code` field." +#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:74 +msgid "For the API to work, create the same accounts as the default accounts of the Employment Hero business (**same name and same code**) in Odoo. The correct account types must be chosen in Odoo to generate accurate financial reports." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2898 -msgid "For work entry types, under the :guilabel:`Settings` tab, fill in the :guilabel:`SDWorx code` field as well." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:3 +msgid "Hong Kong" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2901 -msgid "You can now export your work entries in the SD Worx :file:`.txt` format by opening the wizard under :menuselection:`Payroll app --> Reporting --> Belgium --> Export Work Entries to SDWorx`." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:8 +msgid "Ensure the :guilabel:`Hong Kong - Payroll` (`l10n_hk_hr_payroll`) module is installed before proceeding." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2904 -msgid "The file contains a series of lines such as the following line of text: `1111110000024K2023042370100360`" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:14 +msgid "Create employees" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2907 -msgid "Each line represents a work entry, and the structure is outlined below:" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:16 +msgid "Go to the :menuselection:`Employees` app and click :guilabel:`New`. Then, configure the following fields:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2909 -msgid "`111111` -> Company SD Worx code" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:19 +msgid "Under the :guilabel:`Work Information` tab" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2910 -msgid "`0000024` -> Employee SD Worx code" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:21 +msgid ":guilabel:`Working Hours`: :guilabel:`HK Standard 40 hours/week` option **must** be selected." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2911 -msgid "`K` -> Delimiter" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:23 +msgid "Under the :guilabel:`Private Information` tab" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2912 -msgid "`20230423` -> Date" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:25 +msgid ":guilabel:`Surname, Given Name, Name in Chinese`: name of the employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2913 -msgid "`7010` -> SD Worx work entry code" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:26 +msgid ":guilabel:`Private Address`: address of the employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2914 -msgid "`0360` -> Duration (edited)" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:27 +msgid ":guilabel:`Bank Account Number`: employee's bank account number." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2916 -msgid "Once the :file:`.txt` file is exported, it can be directly imported in this format into the SD Worx software. Doing so updates the calendars of each collaborator." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:28 +msgid ":guilabel:`Current Rental`: employee's rental records (if rental allowance is applicable)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2922 -msgid "274.XX sheets" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:29 +msgid ":guilabel:`Autopay Type`: :guilabel:`BBAN`, :guilabel:`SVID`, :guilabel:`EMAL`, etc." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2924 -msgid "This section provides an overview of Declaration 274, its components, and how it is handled within Odoo." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:30 +msgid ":guilabel:`Autopay Reference`: autopay reference number." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2928 -msgid "Declaration 274.10" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:31 +msgid ":guilabel:`Identification No`: HKID of the employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2930 -msgid "Withholding tax is an advance payment on professional income tax. It is calculated based on guidelines established by the tax administration. While reducing withholding tax is generally not allowed, employees may request to pay more in order to better match their final tax liability." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:32 +msgid ":guilabel:`Gender`: gender of the employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2934 -msgid "Withholding tax must be deducted from both employees' and company directors' income. If the withholding tax is insufficient, advance tax payments must be made to avoid additional tax penalties." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:35 +msgid "For the :guilabel:`Bank Account Number`, this account should be set as :guilabel:`Trusted` before further processing." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2938 -msgid "In practice, some employees do not inform their employer of personal changes (e.g., having a child), which can affect tax calculations." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:38 +msgid "To achieve this, click on the right-arrow button next to :guilabel:`Bank Account Number` field. Set the :guilabel:`Send Money` to :guilabel:`Trusted` by clicking on the toggle." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2941 -msgid "Withholding tax must be declared and paid either quarterly or monthly using form 274. These declarations must be submitted via the FINPROF application by the 15th of the month following the reporting period." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:42 +msgid "To populate the :guilabel:`Current Rental`, click on the :guilabel:`History` button. Then, click on :guilabel:`New`. Fill in the relevant details and save the rental record. Upon saving the record, the rental contract :guilabel:`state` will be visible (at the top-right corner) and can be set to :guilabel:`Running`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2945 -msgid "Taxable income and corresponding withholding tax must be recorded in fiscal remuneration forms 281.x and summary statements 325x. Employers failing to report these correctly may be subject to a 309% penalty on undisclosed amounts." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:47 +msgid "Under the :guilabel:`HR Settings` tab:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2949 -msgid "The tax administration compares the declared amounts in form 274 with the amounts reported in the fiscal forms. If withholding tax payments are insufficient, the company may be charged the difference. If a 274 form is submitted without corresponding tax payment, additional tax penalties will apply." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:49 +msgid ":guilabel:`Volunteer Contribution Option`: select either :guilabel:`Only Mandatory Contribution`, :guilabel:`With Fixed %VC`, or :guilabel:`Cap 5% VC`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2954 -msgid "It is crucial to adhere to all administrative guidelines to avoid unexpected tax charges." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:51 +msgid ":guilabel:`MPF Manulife Account`: account number, if applicable." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2957 -msgid "Declarations 274.32, 274.33, 274.34" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:56 +msgid "Manage contracts" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2960 -msgid "Withholding tax exemptions for research employees" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:58 +msgid "Once the new employee has been created, click the :guilabel:`Contracts` smart button on the employee record, or navigate to :menuselection:`Employees app --> Employees --> Contracts`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2962 -msgid "Companies employing scientific researchers may qualify for withholding tax reductions under specific conditions:" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:62 +msgid "Only **one** contract can be active simultaneously per employee, but an employee can be assigned consecutive contracts during their employment." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2965 -msgid "**Form 281.32** applies to civil engineers and PhD holders." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:65 +msgid "The following are critical for setting up a contract:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2966 -msgid "**Form 281.33** applies to employees holding a master's degree." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:67 +msgid ":guilabel:`Salary Structure Type`: set as :guilabel:`CAP57: Hong Kong Employee`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2967 -msgid "**Form 281.34** applies to employees holding a bachelor's degree." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:68 +msgid ":guilabel:`Contract Start Date`: start date of employment." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2969 -msgid "Employers engaged in scientific research may be eligible for an exemption from withholding tax payments. To qualify, they must register their R&D projects with Belspo. From August 1, 2023, this registration must occur before the project begins." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:69 +msgid ":guilabel:`Working Schedule`: set as :guilabel:`HK Standard 40 hours/week` (from employee record)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2974 -msgid "Tax exemption details" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:70 +msgid ":guilabel:`Work Entry Source`: select either :guilabel:`Working Schedule`, :guilabel:`Attendances` or :guilabel:`Planning`. This field determines how the work entries are accounted for in the payslip." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2976 -msgid "This tax incentive allows companies to retain 80% of the withholding tax deducted from researchers' salaries. However, the exemption rate differs for researchers based on their qualifications:" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:74 +msgid ":guilabel:`Working Schedule`: the work entries are generated automatically based on the employee's working schedule." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2979 -msgid "PhD and master's degree holders: Full 80% exemption." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:76 +msgid ":guilabel:`Attendances`: the work entries are generated based on the check-in/out period logged in the *Attendances*." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2980 -msgid "Bachelor's degree holders: 50% of the full exemption amount." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:78 +msgid ":guilabel:`Planning`: the work entries are generated from planning shifts only." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2981 -msgid "For non-SME companies, this limit is further reduced to 25%." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:80 +msgid "Under the :guilabel:`Salary Information` tab" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2983 -msgid "The exemption applies only to the portion of working time dedicated to scientific research, covering fundamental research, industrial research, or experimental development." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:82 +#: ../../content/applications/hr/payroll/payroll_localizations/united_arab_emirates.rst:61 +msgid ":guilabel:`Wage Type`: select :guilabel:`Fixed Wage` for Full-time or Part-time employees, or :guilabel:`Hourly Wage` for employees who are paid hourly." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2986 -msgid "This exemption does not affect the net salary of employees." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:84 +msgid ":guilabel:`Schedule Pay`: the frequency of payslip issuance." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2989 -msgid "Capping rules" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:85 +#: ../../content/applications/hr/payroll/payroll_localizations/united_arab_emirates.rst:64 +msgid ":guilabel:`Wage`: :guilabel:`Monthly` or :guilabel:`Hourly` depending on the :guilabel:`Wage Type`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2991 -msgid "The total exemption granted to researchers with a bachelor's degree is limited to 25% of the exemption granted to PhD and master's degree holders. For small companies (as defined in Article 15 §§ 1-6 of the Companies Code), this limit is doubled. These rules have remained unchanged since January 1, 2020." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:87 +msgid ":guilabel:`Internet Subscription`: this is an **optional** field to provide additional internet allowance on top of the current salary package." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2997 -msgid "How it works in Odoo" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:91 +msgid "Timesheets do **not** impact work entries in Odoo." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:2999 -msgid "Odoo automates the calculation and declaration of withholding tax exemptions using predefined payroll structures. Below is an explanation of how the system processes these exemptions." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:93 +msgid "Once all information has been setup, set the contract status to :guilabel:`Running` by clicking the :guilabel:`Running` button in the top-right of the page." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3002 -msgid "Navigate to :menuselection:`Payroll app --> Reporting --> 274.XX Sheets` to create a new declaration." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:-1 +msgid "Hong Kong employment contract." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3005 -msgid "Select the reference :guilabel:`Year` and :guilabel:`Month`, and the different amounts are computed accordingly." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:104 +msgid "Once the employees, and their contracts, are configured, payslips can be generated in the *Payroll* app." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3008 -msgid "**Payroll calculation**" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:107 +msgid "Odoo provides **four** different salary structures under CAP57 regulation:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3010 -msgid "Odoo calculates gross salary and total withholding tax." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:109 +msgid ":guilabel:`CAP57: Employees Monthly Pay`: to process the monthly employee salary." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3011 -msgid "It accounts for specific payroll components, including December double bonuses." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:110 +msgid ":guilabel:`CAP57: Payment in Lieu of Notice`: to process final payment upon contract termination using :abbr:`ADW (Average Daily Wage)`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3013 -msgid "**Filtering eligible payslips**" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:112 +msgid ":guilabel:`CAP57: Long Service Payment`: applicable to employees with more than five years of service upon contract termination." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3015 -msgid "Payslips linked to research-related contracts are considered." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:114 +msgid ":guilabel:`CAP57: Severance Payment`: applicable to employees with more than two years of service upon contract termination." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3016 -msgid "Employees are categorized based on their qualifications (PhD, master's, or bachelor's degrees)." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:117 +msgid "Before running the payslips, the accounts used in the salary rule can be adjusted by navigating to :menuselection:`Payroll app --> Configuration --> Rules`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3018 -msgid "**Exemption calculation**" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:-1 +msgid "Hong Kong Salary Rules." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3020 -msgid "The withholding tax exemption is calculated at 80% of the withheld amount." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:123 +msgid "Odoo can create pay runs in two ways: via :ref:`batch ` or :ref:`individual ` payslips." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3021 -msgid "Exemptions for bachelor's degree holders are capped according to regulations." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:129 +msgid "Batch payslips" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3023 -msgid "**Final adjustments**" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:131 +msgid "This method of payslip generation is used for recurring payments, since multiple employee payslips can be managed at once. Go to :menuselection:`Payroll app --> Payslips --> Batches`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3025 -msgid "The system ensures compliance with legal capping rules." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:134 +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:158 +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:399 +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:418 +msgid "Click on :guilabel:`New`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3026 -msgid "If necessary, adjustments are made based on the total exemption granted." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:135 +msgid "Enter a :guilabel:`Batch Name` (e.g. `2024 - Jan`) and :guilabel:`Period` (e.g. `01/01/2024` - `01/31/2024`)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3028 -msgid "Click on :guilabel:`Export XML file` to generate the file to post on FINPROF portal and the structured communication to link to your payment." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:137 +msgid "Click on :guilabel:`Generate Payslips`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:-1 -msgid "274.XX XML file." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:138 +msgid "Choose which :guilabel:`Salary Structure` to use for this batch. The department filter allows the batch to only apply to a specific group of employees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3034 -msgid "Click on :guilabel:`Create 274.XX Sheets` to generate the :file:`.pdf` files of those declarations." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:140 +msgid "Click on :guilabel:`Generate`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3037 -msgid "In order to for the exemption to work properly, the *Certificate Level* should be correctly configured on the employee's form." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:141 +msgid "A :guilabel:`Payslips` smart button is created automatically." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3040 -msgid "The *Time Percentage R&D* rate should be specified on the employee's contract form as well." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:143 +msgid "Next, click :guilabel:`Create Draft Entry` to generate a draft journal entry found in the :guilabel:`Other Info` tab of each payslip. A :guilabel:`Confirmation` pop-up window appears asking :guilabel:`Are you sure you want to proceed?`. Click :guilabel:`Ok` to create the journal entries." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3042 -msgid "If the accounting application is installed and running properly, you can also post directly the different amounts in your accounting entries with the :guilabel:`Post Journal Entries` button." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:150 +msgid "Individual payslips" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3046 -msgid "If the *Post Journal Entries* is not present on the wizard, you need to configure the journal and the different accounts for each amount type from :menuselection:`Payroll app --> Configuration --> Settings`." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:152 +msgid "Go to :menuselection:`Payroll app --> Payslips --> All Payslips`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3050 -msgid "In the :guilabel:`Belgian Localization` section, complete each of the :guilabel:`Witholding Taxes Exemption` journal entry accounts." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:154 +msgid "This method of payslip generation is commonly used to handle non-recurring payments (e.g. :guilabel:`CAP57: Payment in Lieu of Notice`, :guilabel:`CAP57: Long Service Payment` or :guilabel:`CAP57: Severance Payment`)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3053 -msgid "Employers using Odoo can efficiently manage and report withholding tax exemptions, ensuring compliance with regulatory requirements." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:159 +msgid "Select an :guilabel:`Employee`. When selected, the :guilabel:`Contract` is filled out automatically." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3056 -msgid "For further details, consult the Odoo finance documentation or your tax adviser." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:161 +msgid "Add a pay :guilabel:`Period`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3061 -msgid "281.10 Declaration" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:162 +msgid "Select a salary :guilabel:`Structure` (e.g. :guilabel:`CAP57: Employees Monthly Pay`)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3066 -msgid "The Belgian fiscal declaration 281.10 is an annual statement that employers must submit to the tax authorities, detailing the salaries and benefits provided to each employee. This declaration ensures accurate tax calculations and compliance with Belgian tax regulations." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:163 +msgid "The :guilabel:`Worked Days & Inputs` tab automatically compute the worked days/hours and time off leaves that are applicable." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3071 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3141 -msgid "Generating the declaration in Odoo" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:165 +msgid "Additional payslip items can be added at this time (e.g. :guilabel:`Commissions`, :guilabel:`Deductions`) under the :guilabel:`Other Inputs` section." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3073 -msgid "Odoo provides a streamlined process for generating the 281.10 declaration, offering both a comprehensive XML file for electronic submission and individual PDF files for record-keeping." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:167 +msgid "Click on :guilabel:`Compute Sheet` button to generate the payslip lines. This button updates the :guilabel:`Salary Computation` tab." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3077 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3147 -msgid "Global XML declaration" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:171 +msgid "If the work entry for an employee was amended, click the :icon:`fa-cog` :guilabel:`(gear)` icon, then click :guilabel:`Recompute Whole Sheet` to refresh the payslip's :guilabel:`Worked Days & Inputs` tab." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3079 -msgid "To generate the global XML file in Odoo, navigate to :menuselection:`Payroll app --> Reporting --> 281.10 Sheet`." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:175 +msgid "The :guilabel:`Salary Computation` tab shows the detailed breakdown of the computation, based on the salary rules configured for each structure type." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3082 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3152 -msgid "Then, create a new record by selecting the reference :guilabel:`Year`." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:178 +msgid ":guilabel:`Rent Allowance`: amount derived from the employee's active rental record." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3085 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3155 -msgid "The :guilabel:`Sending Type` and :guilabel:`Treatment Type` options are currently experimental and should be kept at their default values to ensure a valid original declaration." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:179 +msgid ":guilabel:`Basic Salary`: amount of base salary provided (after rent allowance deduction)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3088 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3158 -msgid "Click the :guilabel:`Populate` button to generate the eligible employees, then click the :guilabel:`Create XML` button. A green indicator will appear to confirm successful file generation." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:180 +msgid ":guilabel:`713 Gross`: net payable amount considering *Commission*, *Internet Allowance*, *Reimbursements*, *Back-pay*, *Deduction*, etc." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3092 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3162 -msgid "Individual PDF declaration" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:182 +msgid ":guilabel:`MPF Gross`: net payable amount from 713 gross after consideration of additional allowances, deductions, and end-of-year payment." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3094 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3164 -msgid "To generate individual PDF files for each employee, click the :guilabel:`Populate` button. A line is generated for each employee who received a payslip during the reference year." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:184 +msgid ":guilabel:`Employee Mandatory Contribution`: employee MPF Contribution." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3098 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3168 -msgid "The PDF files are generated automatically in batches of 30, so the process may take some time to complete." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:185 +msgid ":guilabel:`Employer Mandatory Contribution`: employer MPF Contribution." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3105 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3175 -msgid "Select the employees whose documents you want to post, then click the :guilabel:`Post PDF` button." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:186 +msgid ":guilabel:`Gross`: net payable amount from MPF gross after consideration of MPF deductions." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3107 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3177 -msgid "Once posted, employees can access the PDF from their documents portal via the :icon:`fa-file-text` :guilabel:`Documents` smart button on their profile." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:187 +msgid ":guilabel:`Net Salary`: final payable amount to be paid to the employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3111 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3181 -msgid "Submitting the XML declaration" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:190 +msgid "There are no MPF contributions for the first month. Both employee and employer contribution starts on second month." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3113 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3183 -msgid "After generating the XML file, it must be submitted to the Belgian tax authorities. Ensure you are familiar with the `official submission process `_." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:-1 +msgid "Hong Kong Salary computation." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3117 -msgid "The XML files containing the fiscal data to be sent via the Belcotax-on-web (BOW) application must be converted to the .bow format." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:196 +msgid "Under the :guilabel:`Other Inputs` section in :guilabel:`Worked Days & Inputs` tab, there are additional manual input types:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3120 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3190 -msgid "This conversion requires the use of a validation module available under the *Technical Documentation* section." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:199 +msgid ":guilabel:`Back Pay`: additional salary payout can be included under this category." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3123 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3193 -msgid "The validation module has two prerequisites:" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:200 +msgid ":guilabel:`Commission`: the commission earned during the period can be manually entered here." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3125 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3195 -msgid "Java 8 must be installed." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:201 +msgid ":guilabel:`Global Deduction`: a lump-sum deduction from the entire payslip." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3126 -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3196 -msgid "The certificate authority that signed the validation module must be recognized." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:202 +msgid ":guilabel:`Global Reimbursement`: a lump-sum reimbursement to the entire payslip." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3131 -msgid "281.45 Declaration" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:203 +msgid ":guilabel:`Referral Fee`: the additional bonus offered for any form of business-related referral." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3136 -msgid "The Belgian fiscal declaration 281.45 is an annual statement that entities must submit to the tax authorities, detailing the amounts of author's rights and neighboring rights paid to beneficiaries. This declaration ensures accurate tax reporting and compliance with Belgian tax regulations." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:204 +msgid ":guilabel:`Moving Daily Wage`: to override the :abbr:`ADW (Average Daily Wage)` value used for leaves computation." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3143 -msgid "Odoo provides a streamlined process for generating the 281.45 declaration, offering both a comprehensive XML file for electronic submission and individual PDF files for record-keeping." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:206 +msgid ":guilabel:`Skip Rent Allowance`: if set, the rental allowance is excluded from the current payslip." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3149 -msgid "To generate the global XML file in Odoo, navigate to :menuselection:`Payroll app --> Reporting --> 281.45 Sheet`." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:208 +msgid ":guilabel:`Custom Average Monthly Salary`: to override the average monthly salary used for end-of-year payment (rule is only applicable to payslips generated in December)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:3187 -msgid "The XML files containing the fiscal data to be sent via the Belcotax-on-web (BOW) application must be converted to the :file:`.bow` format." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:210 +msgid ":guilabel:`Lieu of Notice Period (Months)`: only applicable to :guilabel:`CAP57: Payment in Lieu of Notice` salary structure. By default, the final payout is set as 1-month. Use the :guilabel:`Count` field under the :guilabel:`Other Inputs` section to set a different notice period duration." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:3 -msgid "Egypt" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:215 +msgid "Once the payslips are ready, click on :guilabel:`Compute Sheet`, followed by :guilabel:`Create Draft entry` to generate a draft journal entry found in the :guilabel:`Other Info` tab of the payslip." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:5 -msgid "The Egypt **Payroll** localization package enables payroll processing that fully complies with Egyptian labor laws. It calculates progressive income tax, employee- and employer-paid social security, and core salary components, including housing and transportation allowances." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:221 +msgid "Once the draft journal entries have been posted, the company can now pay the employees. The user can choose between **two** different *payment methods*:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:12 -msgid ":ref:`Install ` the following modules to get all the features of the Egypt **Payroll** localization:" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:224 +msgid "From the employee's payslip (:menuselection:`Payroll app --> Payslips --> All Payslips`), once the payslip's journal entry has been posted, click :guilabel:`Register Payment`. The process is the same as :doc:`paying vendor bills <../../../finance/accounting/payments>`. Select the desired bank journal and payment method, then later reconcile the payment with the corresponding bank statement." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:18 -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:19 -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:28 -#: ../../content/applications/hr/payroll/payroll_localizations/united_arab_emirates.rst:20 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:39 -msgid "Name" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:228 +msgid "For batch payments (:menuselection:`Payroll app --> Payslips --> Batches`), once all draft journal entries from the batch are confirmed, click :guilabel:`Mark as Paid` to post the payment journal entry. Then :doc:`create a payment <../../../finance/accounting/payments>` in the *Accounting* app, and reconcile accordingly." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:19 -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:20 -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:29 -#: ../../content/applications/hr/payroll/payroll_localizations/united_arab_emirates.rst:21 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:40 -msgid "Technical name" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:234 +msgid "Attendances and hourly wage" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:20 -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:21 -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:31 -#: ../../content/applications/hr/payroll/payroll_localizations/united_arab_emirates.rst:22 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:42 -msgid "Description" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:236 +msgid "To configure the contract for an employee paid hourly using the *Attendances* app for hours tracking, navigate to :menuselection:`Payroll app --> Contracts --> Contracts`. Create a new :ref:`contract `. It is important to remember to set the :guilabel:`Work Entry Source` as :guilabel:`Attendances`, and :guilabel:`Wage Type` as :guilabel:`Hourly Wage`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:21 -msgid ":guilabel:`Egypt - Payroll`" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:242 +msgid "To record the hours logged by the employee using *Attendances* app:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:22 -msgid "`l10n_eg_hr_payroll`" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:244 +msgid "Go to :menuselection:`Attendances app`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:23 -msgid "Payroll module includes all salary rules, leave logic, and compensation rules compliant with Egyptian Labor Law." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:245 +msgid "The employee can check-in/out, via the kiosk mode and the time will be logged automatically." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:25 -msgid ":guilabel:`Egypt - Payroll with Accounting`" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:246 +msgid "In the :menuselection:`Payroll app`, review the attendance work entries generated from :menuselection:`Payroll app --> Work Entries --> Work Entries`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:26 -msgid "`l10n_eg_hr_payroll_account`" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:248 +msgid "Next, generate the :ref:`payslips ` and process the payment." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:27 -msgid "Adds account mappings related to payroll calculations." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:-1 +msgid "Hong Kong Attendance Work Entry." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:30 -msgid ":doc:`Egypt fiscal localization documentation <../../../finance/fiscal_localizations/egypt>`" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:-1 +msgid "Hong Kong Attendance Payslip." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:33 -msgid "Egyptian employee contracts" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:257 +msgid "Time Off with Payroll" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:35 -msgid "Once an employee has been :doc:`created in the database <../../employees/new_employee>`, a :ref:`contract must be created `." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:259 +msgid "The work entry types and time off types are fully integrated between the *Time Off* and *Payroll* apps. There are several default time off types and work entry types specific to Hong Kong which are installed automatically along with the *Hong Kong - Payroll* module." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:38 -msgid "To check if the user already has a contract, navigate to the **Employees** app, then click on the employee's Kanban card. The :icon:`fa-book` :guilabel:`Contracts` smart button displays a red zero when no contract exists. Otherwise, it displays :guilabel:`In contract since (contract start date)` in green." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:263 +msgid "Go to :menuselection:`Payroll app --> Configuration --> Work Entry Types` and click :guilabel:`New`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:44 -msgid "Contracts can also be found by navigating to :menuselection:`Employees app --> Employees --> Contracts`. All contracts appear in a list view, grouped by status." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:265 +msgid "There are two checkboxes to be considered when setting up the work entry type:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:47 -msgid "Populate the following contractual information in the :guilabel:`Salary Information` tab of the contract:" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:267 +msgid ":guilabel:`Use 713`: Include this leave type as part of 713 computation." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:50 -msgid ":guilabel:`Social Insurance Reference Amount`: Used as the base amount for calculating the :ref:`social insurance employee and employer portions `." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:268 +msgid ":guilabel:`Non-full pay`: 80% of the :abbr:`ADW (Average Daily Wage)`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:53 -msgid ":guilabel:`Number of Leave Days`: Used for calculating the :ref:`provision amount for the annual leave for the employee `." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:-1 +msgid "Hong Kong Work Entry Type." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:55 -msgid ":guilabel:`Provision Number of Days`: Corresponds with the number of days used in the calculation of the :ref:`provision value of the end of service for the employee `." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:274 +msgid ":ref:`Creating and configuring work entry types `" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:58 -msgid ":guilabel:`Total Number of Days`: Refers to the number of days used to calculate the :ref:`end-of-service benefit paid to the employee when their employment with the company ends `." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:277 +msgid "Understanding 713 Ordinance" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:65 -msgid "Social insurance" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:279 +msgid "The *Hong Kong - Payroll* module is compliant with 713 Ordinance which relates to the :abbr:`ADW (Average Daily Wage)` computation to ensure fair compensation for employees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:67 -msgid "Social insurance rules calculate the contribution amounts that are to be paid by the employer and employee to the :abbr:`NOSI (National Organization for Social Insurance)`. This is only available for Egyptian employees." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:282 +msgid "The ADW computation is as follows:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:71 -msgid "The employer contributes 18.75% of the social insurance reference amount for the employee. On the other hand, the employee contributes 11% of their insurance reference amount, and that amount gets deducted from the payslip amount." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:287 +msgid "Hong Kong ADW Formula." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:76 -msgid "The social insurance reference amount is set per employee in their contracts." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:287 +msgid ":abbr:`ADW (Average Daily Wage)` equals the total wage in a 12-month period, minus the wages of non-full pay, divided by the total days in a 12-month period minus the days of non-full pay." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:79 -msgid "Leaves" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:291 +msgid "For 418 compliance, there is no automated allocation of the *Statutory Holiday* entitlement to the employees. As soon as 418 requirements are met, manually allocate the leaves, via the *Time Off* app." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:81 -msgid "The following leave types are available to employees working in Egypt: :ref:`Annual leave `, :ref:`Sick leave `, :ref:`Unpaid leave `, and :ref:`Other leave types `." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:296 +msgid "Before generating payslips, ensure the statuses are :guilabel:`Done` to validate the outcome." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:91 -msgid "Employees are eligible for 21 days of annual leave, and if the employee requires more days, they have to be :ref:`requested from HR managers ` accordingly." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:301 +msgid "Period" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:95 -msgid "Since the annual leave is fully paid, it is not connected to a salary rule, but it will appear on the worked days on the payslip form and on the PDF printout." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:302 +msgid "Days" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:101 -msgid "Sick leave" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:303 +msgid "Wage" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:103 -msgid "Three cases exist for sick leaves in terms of the amount to be deducted from the employee:" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:304 +msgid "Commission" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:105 -msgid ":guilabel:`Fully paid`: first 30 calendar days each year (affects only working entries; no payroll deduction)." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:305 +msgid "Total" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:108 -msgid "**Payroll computation** =(Daily Wage)" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:306 +msgid "ADW" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:110 -msgid ":guilabel:`75% paid`: next 60 days; payroll rule deducts 25% of an employee's salary." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:307 +msgid "Leave Value" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:112 -msgid "**Payroll computation** =(Daily Wage * 0.25)" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:308 +msgid "Jan" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:114 -msgid ":guilabel:`0% paid`: after 90 days; payroll rule deducts 100% of an employee's salary." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:309 +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:323 +msgid "31" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:116 -msgid "**Payroll computation** =(Daily Wage * 0.00)" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:310 +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:312 +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:317 +msgid "$20200" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:121 -msgid "Unpaid leave" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:311 +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:325 +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:332 +msgid "$0" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:123 -msgid "Deductions are applied on the employee's salary based on the number of unpaid leave days taken, and it is calculated by dividing the monthly salary for the employee by 30 to get the daily salary and then multiplying it by the number of unpaid leave days taken." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:313 +msgid "$651.61 ($20200/31)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:130 -msgid "Other leave types" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:314 +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:321 +msgid "N/A" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:132 -msgid "These are leave types considered fully paid and do not affect the end payslip, but are tracked in the working entries:" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:315 +msgid "Feb" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:135 -msgid "Maternity leave" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:316 +msgid "28" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:136 -msgid "Hajj leave" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:318 +msgid "$5000" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:137 -msgid "Death leave" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:319 +msgid "$25200" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:140 -msgid "Income tax" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:320 +msgid "$769.49 ($45400/59)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:142 -msgid "In Egypt, employees are subject to a progressive income tax system, where tax rates increase with higher annual income brackets." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:322 +msgid "Mar (One Day Annual Leave)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:148 -msgid "Depending on the annual income of the employee, the following rates apply:" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:324 +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:326 +msgid "$20324.33" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:154 -msgid "Taxable Amount" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:327 +msgid "$730.27 ($65724.33/90)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:155 -msgid "<600k" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:328 +msgid "$769.49" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:156 -msgid "600k - 699k" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:329 +msgid "Apr (One Day 80% Sick Leave)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:157 -msgid "700k - 799k" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:331 +msgid "$20117.56" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:158 -msgid "800k - 899k" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:335 +msgid "$584.22 ($730.27*0.8)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:159 -msgid "900k - 1.2M" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:338 +msgid "Here is an example demonstrating the 713 logic:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:160 -msgid ">1.2M" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:340 +msgid "**Jan**: Generate a payslip with a monthly wage of $20200. The :abbr:`ADW (Average Daily Wage)` is always computed on a cumulative basis of the trailing 12-months." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:161 -msgid "0%" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:342 +msgid "**Feb**: Generate a similar payslip, but add an :guilabel:`Other Input Type` for the :guilabel:`Commission`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:162 -msgid "1-40k" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:344 +msgid "**Mar**: Apply for **one** full-paid annual leave in March. The salary compensation for the leave taken is based on :abbr:`ADW (Average Daily Wage)` thus far." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:168 -msgid "10%" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:0 +msgid "Hong Kong March 713." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:169 -msgid "More than 40k to 55k" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:350 +msgid "**Apr**: Apply for a 1-day non-full pay leave in April. Since this is a non-full pay leave, the :abbr:`ADW (Average Daily Wage)` is computed accordingly." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:170 -msgid "1 - 55k" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:0 +msgid "Hong Kong April 713." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:175 -msgid "15%" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:357 +msgid "The value of :abbr:`ADW (Average Daily Wage)` is computed in the backend, and not be visible to the user." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:176 -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:177 -msgid "More than 55k to 70k" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:361 +msgid "`HK 713 Ordinance `_" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:178 -msgid "1 - 70k" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:362 +msgid "`HK 418 Ordinance `_" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:182 -msgid "20%" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:365 +msgid "Generate reports" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:183 -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:184 -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:185 -msgid "More than 70k to 200k" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:367 +msgid "Before generating the below reports, setup the following in :menuselection:`Settings app --> Payroll`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:186 -msgid "1 - 200k" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:370 +msgid "Configure the following in the :guilabel:`Accounting` section:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:189 -msgid "22.5%" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:372 +msgid "Tick the :guilabel:`Payroll HSBC Autopay` checkbox." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:190 -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:191 -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:192 -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:193 -msgid "More than 200k to 400k" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:374 +msgid ":guilabel:`Autopay Type`: Set as :guilabel:`H2H Submission`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:194 -msgid "1 - 400k" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:375 +msgid "Select the :guilabel:`Bank Account` to use." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:196 -msgid "25%" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:377 +msgid "Configure the following in the :guilabel:`HK Localization` section:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:197 -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:198 -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:199 -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:200 -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:201 -msgid "More than 400k" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:379 +msgid ":guilabel:`Employer's Name shows on reports`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:202 -msgid "1 - 1.2M" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:380 +msgid ":guilabel:`Employer's File Number`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:203 -msgid "27.5%" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:381 +msgid ":guilabel:`Manulife MPF Scheme`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:209 -msgid "More than 1.2M" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:-1 +msgid "Hong Kong Payroll Settings." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:212 -msgid "Exemptions" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:387 +msgid "IRD report" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:214 -msgid "Employees are eligible to an EGP 20,000 personal exception on their gross income." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:389 +msgid "There are a total of **four** IRD reports available:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:217 -msgid "Overtime" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:391 +msgid ":guilabel:`IR56B`: employer's Return of Remuneration and Pensions." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:219 -msgid "Depending on the time of day and the time at which the overtime is recorded in, the additional amount to be paid to the employee can be as follows:" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:392 +msgid ":guilabel:`IR56E`: notification of Commencement of Employment." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:222 -msgid "During daytime hours on working days, the amount is 1.35x times the employee's hourly wage." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:393 +msgid ":guilabel:`IR56F`: notification of Ceasation of Employment (remaining in HK)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:223 -msgid "During nighttime hours on working days, the amount is 1.70x times the employee's hourly wage." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:394 +msgid ":guilabel:`IR56G`: notification of Ceasation of Employment (departing from HK permanently)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:224 -msgid "On rest days and public holidays: The amount is 2.0x times the employee's hourly wage." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:396 +msgid "Go to :menuselection:`Payroll app --> Reporting`, and select one of the :guilabel:`IR56B/E/F/G Sheet` options:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:227 -msgid "Overtime hours are registered as other inputs directly on payslips." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:400 +msgid "Fill in the relevant information for the IRD report." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:232 -msgid "Provisions" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:401 +msgid "Click on :guilabel:`Populate`, and the :guilabel:`Eligible Employees` smart button appears." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:234 -msgid "Provisions are the amounts computed by the employer to account for the payments made to the employee for :abbr:`EOS (end-of-service)` benefits or annual leave. And it is computed on a monthly basis." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:402 +msgid "The :guilabel:`Employee Declarations` status is :guilabel:`Draft` and changed to :guilabel:`Generated PDF` status once the schedule runs." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:238 -msgid "End of service benefit provision" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:404 +msgid "Once the PDF is generated, the IRD form may be downloaded." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:240 -msgid "It is computed by dividing the end of service Provision Number of Days by 12 and multiplying the result by the daily salary for the employee." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:-1 +msgid "Hong Kong IR56B report." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:243 -msgid "\\text{Payroll computation} = \\frac{\\text{Provision Number of Days}}{12} \\times \\frac{\\text{Wage} + \\text{Allowances}}{30}" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:410 +msgid "The scheduled action called *Payroll: Generate pdfs* can be manually triggered. It is set by default to run the PDF generation monthly." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:249 -msgid "Annual leave provision" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:414 +msgid "Manulife MPF sheet" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:251 -msgid "It is computed by dividing the number of leave days by 12 and multiplying the result by the daily salary for the employee." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:416 +msgid "Go to :menuselection:`Payroll app --> Reporting --> Manulife MPF Sheet`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:254 -msgid "\\text{Payroll computation} = \\frac{\\text{Number of Leave Days}}{12} \\times \\frac{\\text{Wage} + \\text{Allowances}}{30}" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:419 +msgid "Select the relevant :guilabel:`Year`, :guilabel:`Month`, and :guilabel:`Sequence No.`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:262 -msgid "End of service" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:420 +msgid "Click on :guilabel:`Create XLSX`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:264 -msgid "At the end of the service slip that is generated for the employee, there are the following points that are unique only to the payslip:" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:421 +msgid "The *Manulife MPF XLSX* file is then generated, and available for download." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:268 -msgid "Unused leaves compensation" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:-1 +msgid "Hong Kong Manulife Sheet." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:270 -msgid "The number of available annual leaves is shown on the employee's record. It is based on the annual leave type defined in the Payroll settings. It is calculated as the total remaining allocations for that specific leave type assigned to the employee." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:427 +msgid "Odoo will not be developing further reports for other MPF trustee as there will soon be an eMPF platform setup by the local government." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:274 -msgid "That number is then multiplied by the daily rate for the employee and added as an allowance on their payslip." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:431 +msgid "`eMPF `_" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:278 -msgid "End of service benefit" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:434 +msgid "HSBC autopay report" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:280 -msgid "It is calculated by multiplying the daily wage of the employee by the number of days for the end of service that is set in the employee's contract." +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:436 +msgid "If *HSBC Autopay* is selected as the batch payment method, click on :guilabel:`Create HSBC Autopay Report`, and fill in the mandatory fields:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:283 -msgid "\\text{Payroll computation} = \\frac{\\text{Wage + Allowances}}{30} \\times \\text{End of Service Number of Days}" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:-1 +msgid "Hong Kong HSBC Autopay wizard." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:289 -msgid "Out of contract" +#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:442 +msgid "This creates an :file:`.apc` file format which can be uploaded to the HSCB portal for processing." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:291 -msgid "Out-of-contract days are the days that fall within the payslip period but are not included in the employee's contract period. The corresponding amount is added as a deduction on the payslip and is calculated by multiplying the number of out-of-contract days by the employee's daily wage." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:3 +msgid "Jordan" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:295 -msgid "\\text{Payroll computation} = \\frac{\\text Wage + Allowances}{\\text{Days in the Month}} \\times \\text{Out of Contract Days}" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:5 +msgid "The Jordan **Payroll** localization offers a comprehensive solution for managing payroll in compliance with Jordanian labor laws. It supports income tax calculations using progressive tax brackets, social security contributions from both employees and employers and basic salary calculations, including allowances such as housing and transportation." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:3 -msgid "Employment Hero Payroll" +#: ../../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/united_states.rst:31 +msgid "Apps & modules" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:5 -msgid "The `Employment Hero `_ module synchronises payslip accounting entries (e.g., expenses, social charges, liabilities, taxes) automatically from Employment Hero to Odoo. Payroll administration is still done in Employment Hero, but the **journal entries** are done in Odoo." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:15 +msgid ":ref:`Install ` the following modules to get all the features of the Jordan **Payroll** localization:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:11 -msgid "KeyPay was rebranded as **Employment Hero** in March 2023." +#: ../../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/united_states.rst:41 +msgid "Dependencies" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:18 -msgid ":ref:`Activate ` the :guilabel:`Employment Hero Payroll` module (`l10n_employment_hero`)." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:25 +msgid ":guilabel:`Jordan - Payroll`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:20 -msgid "Configure the **Employment Hero API** by going to :menuselection:`Accounting --> Configuration --> Settings`. More fields become visible after clicking on :guilabel:`Enable Employment Hero Integration`." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:26 +msgid "`l10n_jo_hr_payroll`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:0 -msgid "Enabling Employment Hero Integration in Odoo Accounting displays new fields in the\n" -"settings" +#: ../../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/united_states.rst:45 +msgid "hr_payroll" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:28 -msgid "The API Key can be found in the :guilabel:`My Account` section of the Employment Hero platform." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:28 +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:36 +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:37 +#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:48 +msgid "hr_payroll_holidays" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:0 -msgid "\"Account Details\" section on the Employment Hero dashboard" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:29 +msgid "Includes all salary rules, leave logic, and compensation rules compliant with Jordan Labor Law." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:33 -msgid "The **Payroll URL** is left empty by default to avoid any confusion. Please fill it according to the documentation specific to the localization." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:31 +msgid ":guilabel:`Jordan - Payroll with Accounting`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:37 -msgid "Employment hero is available for :ref:`Australia `, :ref:`Malaysia `, :ref:`New Zealand `, :ref:`Singapore `, and the :ref:`United Kingdom `." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:32 +msgid "`l10n_jo_hr_payroll_account`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:43 -msgid "The **Business ID** can be found in the Employment Hero URL. (i.e., `189241`)" +#: ../../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/united_states.rst:53 +msgid "hr_payroll_account" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:0 -msgid "The Employment Hero Business ID number is in the URL" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:34 +msgid "l10n_jo" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:48 -msgid "Choose any Odoo journal to post the payslip entries." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:35 +msgid "l10n_jo_hr_payroll" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:49 -msgid "Configure the tax by going to :menuselection:`Accounting --> Configuration --> Taxes`. Create the necessary taxes for the Employment Hero payslip entries. Fill in the tax code from **Employment Hero** in the :guilabel:`Matching Employment Hero Tax` field." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:36 +msgid "Links payroll and accounting by creating journal entries to record payroll in the company's books." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:54 -msgid "How does the API work?" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:39 +msgid "Before configuring the Jordan 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/employment_hero.rst:-1 -msgid "Example of a Employment Hero Journal Entry in Odoo Accounting (Australia)" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:44 +msgid ":doc:`Jordan fiscal localization documentation <../../../finance/fiscal_localizations/jordan>`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:63 -msgid "By default, the synchronisation happens once per week. The records can be fetched manually by going to :menuselection:`Accounting --> Configuration --> Settings` and, in the :guilabel:`Enable Employment Hero Integration` option, click on :guilabel:`Fetch Payruns Manually`." +#: ../../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/united_states.rst:64 +msgid "General configurations" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:67 -msgid "Employment Hero payslip entries also work based on double-entry bookkeeping." +#: ../../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/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 "" -#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:69 -msgid "The accounts used by Employment Hero are defined in the section :guilabel:`Payroll settings`." +#: ../../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/united_states.rst:70 +msgid ":guilabel:`Company Name`: Enter the business name in this field." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:-1 -msgid "Chart of Accounts menu in Employment Hero" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:54 +msgid ":guilabel:`Address`: Complete the full address, including the :guilabel:`City`, :guilabel:`Zip Code`, and :guilabel:`Country` fields." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/employment_hero.rst:74 -msgid "For the API to work, create the same accounts as the default accounts of the Employment Hero business (**same name and same code**) in Odoo. The correct account types must be chosen in Odoo to generate accurate financial reports." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:58 +msgid "Jordan does not use the :guilabel:`State` field, this remains blank. The :guilabel:`Zip Code` refers to the Jordanian `Postal Code`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:3 -msgid "Hong Kong" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:61 +msgid ":guilabel:`Tax ID`: Enter the company's tax identification number." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:8 -msgid "Ensure the :guilabel:`Hong Kong - Payroll` (`l10n_hk_hr_payroll`) module is installed before proceeding." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:62 +msgid ":guilabel:`Company ID` : Enter the business's registry number." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:14 -msgid "Create employees" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:63 +msgid ":guilabel:`Currency`: By default, :abbr:`JOD (Jordanian Dollars)` is selected. If not, select :guilabel:`JOD` from the drop-down menu." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:16 -msgid "Go to the :menuselection:`Employees` app and click :guilabel:`New`. Then, configure the following fields:" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:69 +msgid "Every employee being paid must have their employee profiles configured for the Jordan payroll localization. Additional fields are present after configuring the database for Jordan." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:19 -msgid "Under the :guilabel:`Work Information` tab" +#: ../../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/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 "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:21 -msgid ":guilabel:`Working Hours`: :guilabel:`HK Standard 40 hours/week` option **must** be selected." +#: ../../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/united_states.rst:98 +msgid "Work tab" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:23 -msgid "Under the :guilabel:`Private Information` tab" +#: ../../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/united_states.rst:100 +msgid "Enter the :guilabel:`Work Address` for the employee in the :guilabel:`Location` section of the :guilabel:`Work` tab." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:25 -msgid ":guilabel:`Surname, Given Name, Name in Chinese`: name of the employee." +#: ../../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/united_states.rst:108 +msgid "Personal tab" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:26 -msgid ":guilabel:`Private Address`: address of the employee." +#: ../../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/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/hong_kong.rst:27 -msgid ":guilabel:`Bank Account Number`: employee's bank account number." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:87 +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:110 +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 "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:28 -msgid ":guilabel:`Current Rental`: employee's rental records (if rental allowance is applicable)." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:91 +msgid "If the employee is **not** a resident of Jordan, tick the :guilabel:`Non-resident` box. This indicates the employee is *not* eligible for personal exemptions." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:29 -msgid ":guilabel:`Autopay Type`: :guilabel:`BBAN`, :guilabel:`SVID`, :guilabel:`EMAL`, etc." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:94 +msgid "Under the :guilabel:`Family` section, ensure the :guilabel:`Has Dependants` box is ticked if the employee has any dependants, such as a spouse, children, or parents. This ensures they receive an additional exemption on their taxable salary." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:30 -msgid ":guilabel:`Autopay Reference`: autopay reference number." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:98 +msgid "By default, the :guilabel:`Is Eligible for EOS` checkbox is ticked, in the :guilabel:`Personal Information` section, indicating the employee is eligible for end of service benefits. If the employee is **not** eligible, ensure the box is unchecked." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:31 -msgid ":guilabel:`Identification No`: HKID of the employee." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:102 +msgid "Additionally, if the employee is blind, tick the :guilabel:`Is Blind` checkbox. This ensures the employee's entire salary is tax-exempt." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:32 -msgid ":guilabel:`Gender`: gender of the employee." +#: ../../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/united_states.rst:128 +msgid "Contract overview section" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:35 -msgid "For the :guilabel:`Bank Account Number`, this account should be set as :guilabel:`Trusted` before further processing." +#: ../../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/united_states.rst:130 +msgid "This section holds information that drives salary calculations. Ensure the following fields are configured:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:38 -msgid "To achieve this, click on the right-arrow button next to :guilabel:`Bank Account Number` field. Set the :guilabel:`Send Money` to :guilabel:`Trusted` by clicking on the toggle." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:114 +msgid ":guilabel:`Contract`: Ensure the contract dates are populated. The contract start date populates the first field, and if the contract has a set end date, that is populated in the second field." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:42 -msgid "To populate the :guilabel:`Current Rental`, click on the :guilabel:`History` button. Then, click on :guilabel:`New`. Fill in the relevant details and save the rental record. Upon saving the record, the rental contract :guilabel:`state` will be visible (at the top-right corner) and can be set to :guilabel:`Running`." +#: ../../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/united_states.rst:135 +msgid ":guilabel:`Wage Type`: Select how the employee is paid." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:47 -msgid "Under the :guilabel:`HR Settings` tab:" +#: ../../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/united_states.rst:137 +msgid "Select :guilabel:`Fixed Wage` for salaried employees who receive the same amount each pay period." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:49 -msgid ":guilabel:`Volunteer Contribution Option`: select either :guilabel:`Only Mandatory Contribution`, :guilabel:`With Fixed %VC`, or :guilabel:`Cap 5% VC`." +#: ../../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/united_states.rst:139 +msgid "Select :guilabel:`Hourly Wage` for employees paid based on hours worked." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:51 -msgid ":guilabel:`MPF Manulife Account`: account number, if applicable." +#: ../../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/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 "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:56 -msgid "Manage contracts" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:127 +msgid ":guilabel:`Wage`: Enter the monthly wage in this field, in :abbr:`JOD (Jordanian Dollars)`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:58 -msgid "Once the new employee has been created, click the :guilabel:`Contracts` smart button on the employee record, or navigate to :menuselection:`Employees app --> Employees --> Contracts`." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:128 +msgid ":guilabel:`Employee Type`: Select what kind of employee the contract is for, such as :guilabel:`Employee` or :guilabel:`Freelance`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:62 -msgid "Only **one** contract can be active simultaneously per employee, but an employee can be assigned consecutive contracts during their employment." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:130 +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:124 +msgid ":guilabel:`Contract Type`: Determines how the employee is paid and classified, such as :guilabel:`Permanent`, :guilabel:`Temporary`, :guilabel:`Seasonal`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:65 -msgid "The following are critical for setting up a contract:" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:132 +msgid ":guilabel:`Pay Category`: Select :guilabel:`Jordan: 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/hong_kong.rst:67 -msgid ":guilabel:`Salary Structure Type`: set as :guilabel:`CAP57: Hong Kong Employee`." +#: ../../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/united_states.rst:-1 +msgid "The contract overview section of the employee form of the payroll tab." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:68 -msgid ":guilabel:`Contract Start Date`: start date of employment." +#: ../../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/united_states.rst:160 +msgid "Schedule section" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:69 -msgid ":guilabel:`Working Schedule`: set as :guilabel:`HK Standard 40 hours/week` (from employee record)." +#: ../../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/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/hong_kong.rst:70 -msgid ":guilabel:`Work Entry Source`: select either :guilabel:`Working Schedule`, :guilabel:`Attendances` or :guilabel:`Planning`. This field determines how the work entries are accounted for in the payslip." +#: ../../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/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/hong_kong.rst:74 -msgid ":guilabel:`Working Schedule`: the work entries are generated automatically based on the employee's working schedule." +#: ../../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/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/hong_kong.rst:76 -msgid ":guilabel:`Attendances`: the work entries are generated based on the check-in/out period logged in the *Attendances*." +#: ../../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/united_states.rst:169 +msgid ":guilabel:`Planning`: Based on :ref:`scheduled shifts ` in the **Planning** app." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:78 -msgid ":guilabel:`Planning`: the work entries are generated from planning shifts only." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:151 +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:177 +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:146 +#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:172 +msgid ":guilabel:`Extra Hours`: Tick the checkbox to allow the **Attendances** app to add any extra work entries logged by the employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:80 -msgid "Under the :guilabel:`Salary Information` tab" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:153 +msgid ":guilabel:`Working Hours`: Using the drop-down menu, select :guilabel:`Jordan Working Schedule`, which consists of a Sunday - Thursday, 40-hour work week." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:82 -#: ../../content/applications/hr/payroll/payroll_localizations/united_arab_emirates.rst:61 -msgid ":guilabel:`Wage Type`: select :guilabel:`Fixed Wage` for Full-time or Part-time employees, or :guilabel:`Hourly Wage` for employees who are paid hourly." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:157 +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:165 +msgid "Allowances section" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:84 -msgid ":guilabel:`Schedule Pay`: the frequency of payslip issuance." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:159 +msgid "The following sections of benefits are considered common ones offered by Jordanian employers. This information needs to be populated with the information selected by the employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:85 -#: ../../content/applications/hr/payroll/payroll_localizations/united_arab_emirates.rst:64 -msgid ":guilabel:`Wage`: :guilabel:`Monthly` or :guilabel:`Hourly` depending on the :guilabel:`Wage Type`." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:163 +msgid "The benefits listed in this section are considered the ones most commonly offered by companies. If other employee benefits exist that require regular paycheck deductions, they can be added as *inputs*." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:87 -msgid ":guilabel:`Internet Subscription`: this is an **optional** field to provide additional internet allowance on top of the current salary package." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:167 +msgid "Enter the monthly allowance amount for :guilabel:`Housing`, :guilabel:`Transportation`, and :guilabel:`Other` allowances." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:91 -msgid "Timesheets do **not** impact work entries in Odoo." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:170 +msgid "If the employee is tax exempt, enter the annual amount that is not subject to taxes in the :guilabel:`Tax Exemption` field." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:93 -msgid "Once all information has been setup, set the contract status to :guilabel:`Running` by clicking the :guilabel:`Running` button in the top-right of the page." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:173 +msgid "If the employee's salary is based on commission, tick the :guilabel:`Is Commission based` checkbox." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:-1 -msgid "Hong Kong employment contract." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:176 +msgid "Annual leave provision section" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:104 -msgid "Once the employees, and their contracts, are configured, payslips can be generated in the *Payroll* app." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:178 +msgid "Every year, employees receive days off. Enter the number of days in the :guilabel:`Number of Leave days` field. The default value is 14." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:107 -msgid "Odoo provides **four** different salary structures under CAP57 regulation:" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:182 +msgid "Social Insurance" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:109 -msgid ":guilabel:`CAP57: Employees Monthly Pay`: to process the monthly employee salary." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:184 +msgid "Social insurance rules calculate the contribution amounts that are to be paid by the employer and employee to the :abbr:`Social Security Corporation (SSC)`. This is only available for Jordanian employees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:110 -msgid ":guilabel:`CAP57: Payment in Lieu of Notice`: to process final payment upon contract termination using :abbr:`ADW (Average Daily Wage)`." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:188 +msgid "The employer contributes 14.25% of the employee's salary to the :abbr:`Social Security Corporation (SSC)`, while the employee contributes 7.5% of their salary, which is deducted from their payslip." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:112 -msgid ":guilabel:`CAP57: Long Service Payment`: applicable to employees with more than five years of service upon contract termination." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:191 +msgid "For both employer and employee contributions, the base amount on which they are calculated is bound by a cap that gets updated every year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:114 -msgid ":guilabel:`CAP57: Severance Payment`: applicable to employees with more than two years of service upon contract termination." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:197 +msgid "The following leave types are available to employees working in Jordan:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:117 -msgid "Before running the payslips, the accounts used in the salary rule can be adjusted by navigating to :menuselection:`Payroll app --> Configuration --> Rules`." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:199 +msgid ":guilabel:`Annual leave`: Employee's are eligible for 21 days of annual leave, and if the employee requires more days, they have to be requested from HR managers accordingly." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:-1 -msgid "Hong Kong Salary Rules." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:206 +msgid ":guilabel:`Sick leave`: Employee's working in Jordan are entitled to 14 days of paid sick leave per year, with the possibility of an additional 14 days if hospitalized. No deductions are applied to the employee in those cases." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:123 -msgid "Odoo can create pay runs in two ways: via :ref:`batch ` or :ref:`individual ` payslips." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:210 +msgid ":guilabel:`Other leave types`: These leave types are fully paid and do not affect the final payslip, but are tracked for reporting purposes:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:129 -msgid "Batch payslips" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:213 +msgid ":guilabel:`Maternity leave`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:131 -msgid "This method of payslip generation is used for recurring payments, since multiple employee payslips can be managed at once. Go to :menuselection:`Payroll app --> Payslips --> Batches`." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:214 +msgid ":guilabel:`Paternity Leave`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:134 -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:158 -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:399 -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:418 -msgid "Click on :guilabel:`New`." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:215 +msgid ":guilabel:`Pilgrimage Leave`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:135 -msgid "Enter a :guilabel:`Batch Name` (e.g. `2024 - Jan`) and :guilabel:`Period` (e.g. `01/01/2024` - `01/31/2024`)." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:216 +msgid ":guilabel:`Study leave`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:137 -msgid "Click on :guilabel:`Generate Payslips`." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:219 +msgid "Income Tax" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:138 -msgid "Choose which :guilabel:`Salary Structure` to use for this batch. The department filter allows the batch to only apply to a specific group of employees." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:221 +msgid "In Jordan, employees are subject to a progressive income tax system, where tax rates increase with higher annual income brackets." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:140 -msgid "Click on :guilabel:`Generate`." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:233 +msgid "Taxable Bracket" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:141 -msgid "A :guilabel:`Payslips` smart button is created automatically." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:234 +msgid "Range" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:143 -msgid "Next, click :guilabel:`Create Draft Entry` to generate a draft journal entry found in the :guilabel:`Other Info` tab of each payslip. A :guilabel:`Confirmation` pop-up window appears asking :guilabel:`Are you sure you want to proceed?`. Click :guilabel:`Ok` to create the journal entries." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:235 +msgid "5%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:150 -msgid "Individual payslips" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:236 +msgid "0-5,000" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:152 -msgid "Go to :menuselection:`Payroll app --> Payslips --> All Payslips`." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:238 +msgid "5,001 - 10,000" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:154 -msgid "This method of payslip generation is commonly used to handle non-recurring payments (e.g. :guilabel:`CAP57: Payment in Lieu of Notice`, :guilabel:`CAP57: Long Service Payment` or :guilabel:`CAP57: Severance Payment`)." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:240 +msgid "10,001 - 15,000" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:159 -msgid "Select an :guilabel:`Employee`. When selected, the :guilabel:`Contract` is filled out automatically." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:242 +msgid "15,001 - 20,000" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:161 -msgid "Add a pay :guilabel:`Period`." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:244 +msgid "20,001 - 1,000,000" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:162 -msgid "Select a salary :guilabel:`Structure` (e.g. :guilabel:`CAP57: Employees Monthly Pay`)." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:245 +msgid "30%" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:163 -msgid "The :guilabel:`Worked Days & Inputs` tab automatically compute the worked days/hours and time off leaves that are applicable." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:246 +msgid "More than 1,000,000" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:165 -msgid "Additional payslip items can be added at this time (e.g. :guilabel:`Commissions`, :guilabel:`Deductions`) under the :guilabel:`Other Inputs` section." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:249 +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 rate of the highest bracket they fall into." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:167 -msgid "Click on :guilabel:`Compute Sheet` button to generate the payslip lines. This button updates the :guilabel:`Salary Computation` tab." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:256 +msgid "Several factors contribute to exempting part of an employee's gross income, including:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:171 -msgid "If the work entry for an employee was amended, click the :icon:`fa-cog` :guilabel:`(gear)` icon, then click :guilabel:`Recompute Whole Sheet` to refresh the payslip's :guilabel:`Worked Days & Inputs` tab." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:258 +msgid "**Jordanian residency**: Residents are entitled to a yearly exemption of 12,000 JOD." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:175 -msgid "The :guilabel:`Salary Computation` tab shows the detailed breakdown of the computation, based on the salary rules configured for each structure type." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:259 +msgid "**Blindness**: Individuals who are blind are **fully** exempt from income tax." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:178 -msgid ":guilabel:`Rent Allowance`: amount derived from the employee's active rental record." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:260 +msgid "**Dependents**: An additional 12,000 JOD exemption per year for employees with dependents." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:179 -msgid ":guilabel:`Basic Salary`: amount of base salary provided (after rent allowance deduction)." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:265 +msgid "Employees are entitled to additional pay for overtime worked, depending on when the overtime hours are worked:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:180 -msgid ":guilabel:`713 Gross`: net payable amount considering *Commission*, *Internet Allowance*, *Reimbursements*, *Back-pay*, *Deduction*, etc." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:268 +msgid "On working days: Overtime is paid at 1.25 times the regular hourly wage." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:182 -msgid ":guilabel:`MPF Gross`: net payable amount from 713 gross after consideration of additional allowances, deductions, and end-of-year payment." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:269 +msgid "On rest days: Overtime is compensated at 1.5 times the regular hourly wage." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:184 -msgid ":guilabel:`Employee Mandatory Contribution`: employee MPF Contribution." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:271 +msgid "These percentages are recorded in the input parameters model." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:185 -msgid ":guilabel:`Employer Mandatory Contribution`: employer MPF Contribution." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:274 +msgid "The number of overtime hours is registered as other inputs directly on payslips." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:186 -msgid ":guilabel:`Gross`: net payable amount from MPF gross after consideration of MPF deductions." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:279 +msgid "Provisions are the amounts computed by the employer to account for the payments made to the employee for :abbr:`end-of-service (EOS)` benefits or annual leaves. It is computed on a monthly basis." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:187 -msgid ":guilabel:`Net Salary`: final payable amount to be paid to the employee." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:282 +msgid "**End of service benefit provision**: This is computed by dividing the monthly gross salary by 12" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:190 -msgid "There are no MPF contributions for the first month. Both employee and employer contribution starts on second month." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:284 +msgid "\\frac{\\text{Basic} + \\text{Allowances}}{12}" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:-1 -msgid "Hong Kong Salary computation." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:288 +msgid "**Annual leave provision**: This is computed by dividing the gross salary by 30 to get the daily salary, then multiplying that by the number of leave days, and dividing the result by 12." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:196 -msgid "Under the :guilabel:`Other Inputs` section in :guilabel:`Worked Days & Inputs` tab, there are additional manual input types:" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:291 +msgid "\\left(\\frac{\\text{Basic} + \\text{Allowances}}{30}\\right)\n" +"\\times\n" +"\\left(\\frac{\\text{Number of Leave Days}}{12}\\right)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:199 -msgid ":guilabel:`Back Pay`: additional salary payout can be included under this category." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:298 +msgid "End of Service" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:200 -msgid ":guilabel:`Commission`: the commission earned during the period can be manually entered here." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:300 +msgid "At the end of the employee's service, if they are eligible for end-of-service benefits, they should receive the following two benefits:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:201 -msgid ":guilabel:`Global Deduction`: a lump-sum deduction from the entire payslip." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:303 +msgid "**Unused leaves compensation**: The Annual Leave Balance is shown on the employee's record. It is based on the annual leave type defined in the **Payroll** app settings and is calculated as the total remaining allocations for that specific leave type assigned to the employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:202 -msgid ":guilabel:`Global Reimbursement`: a lump-sum reimbursement to the entire payslip." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:307 +msgid "The balance represents the total remaining leave allocated to the employee but does not reflect the portion of leave days the employee has earned up to the current month." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:203 -msgid ":guilabel:`Referral Fee`: the additional bonus offered for any form of business-related referral." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:310 +msgid "When calculating the benefit value, the deserved leave balance is determined based on the portion of the year worked. The benefit value is then calculated by multiplying this deserved balance by the employee's daily rate." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:204 -msgid ":guilabel:`Moving Daily Wage`: to override the :abbr:`ADW (Average Daily Wage)` value used for leaves computation." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:315 +msgid "If an employee is entitled to 14 leave days per year and has worked for 6 months, they deserve 7 leave days so far. If their daily rate is 50 JOD, the benefit value is: 7 days × 50 JOD = 350 JOD" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:206 -msgid ":guilabel:`Skip Rent Allowance`: if set, the rental allowance is excluded from the current payslip." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:320 +msgid "The flow mentioned above requires the allocation for the annual leave to be given fully upfront in the beginning of the year for that employee" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:208 -msgid ":guilabel:`Custom Average Monthly Salary`: to override the average monthly salary used for end-of-year payment (rule is only applicable to payslips generated in December)." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:323 +msgid "**End of Service Benefit**: The calculation begins by determining the total number of days the employee has worked at the company, starting from their joining date up to their last working day." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:210 -msgid ":guilabel:`Lieu of Notice Period (Months)`: only applicable to :guilabel:`CAP57: Payment in Lieu of Notice` salary structure. By default, the final payout is set as 1-month. Use the :guilabel:`Count` field under the :guilabel:`Other Inputs` section to set a different notice period duration." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:326 +msgid "The total service duration is calculated out of a 365-day year." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:215 -msgid "Once the payslips are ready, click on :guilabel:`Compute Sheet`, followed by :guilabel:`Create Draft entry` to generate a draft journal entry found in the :guilabel:`Other Info` tab of the payslip." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:328 +msgid "The resulting period in years is then multiplied by the employee's gross salary, which includes the basic salary and the allowances defined in the payroll tab on the employee record." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:221 -msgid "Once the draft journal entries have been posted, the company can now pay the employees. The user can choose between **two** different *payment methods*:" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:331 +msgid "(\\text{Basic} + \\text{Allowances}) \\times \\left(\\frac{\\text{Number of Days}}{365}\\right)" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:224 -msgid "From the employee's payslip (:menuselection:`Payroll app --> Payslips --> All Payslips`), once the payslip's journal entry has been posted, click :guilabel:`Register Payment`. The process is the same as :doc:`paying vendor bills <../../../finance/accounting/payments>`. Select the desired bank journal and payment method, then later reconcile the payment with the corresponding bank statement." +#: ../../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/united_states.rst:301 +msgid "Payroll configuration" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:228 -msgid "For batch payments (:menuselection:`Payroll app --> Payslips --> Batches`), once all draft journal entries from the batch are confirmed, click :guilabel:`Mark as Paid` to post the payment journal entry. Then :doc:`create a payment <../../../finance/accounting/payments>` in the *Accounting* app, and reconcile accordingly." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:338 +msgid "Several sections within the **Payroll** app installs a Salary Structure, Structure Type, Rules, and Parameters specific to Jordan." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:234 -msgid "Attendances and hourly wage" +#: ../../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/united_states.rst:307 +msgid "Salary structures & structure types" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:236 -msgid "To configure the contract for an employee paid hourly using the *Attendances* app for hours tracking, navigate to :menuselection:`Payroll app --> Contracts --> Contracts`. Create a new :ref:`contract `. It is important to remember to set the :guilabel:`Work Entry Source` as :guilabel:`Attendances`, and :guilabel:`Wage Type` as :guilabel:`Hourly Wage`." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:344 +msgid "When the **l10n_jo_hr_payroll** module is :ref:`installed `, a new :guilabel:`Salary Structure` gets installed, :guilabel:`Jordan: Monthly Pay`. This structure includes one :guilabel:`Structure Type`, :guilabel:`Jordan: Employee`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:242 -msgid "To record the hours logged by the employee using *Attendances* app:" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:348 +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/hong_kong.rst:244 -msgid "Go to :menuselection:`Attendances app`." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:-1 +#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:-1 +msgid "The United States salary structure in the salary structures list." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:245 -msgid "The employee can check-in/out, via the kiosk mode and the time will be logged automatically." +#: ../../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/united_states.rst:322 +#: ../../content/applications/hr/payroll/salaries.rst:176 +msgid "Salary rules" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:246 -msgid "In the :menuselection:`Payroll app`, review the attendance work entries generated from :menuselection:`Payroll app --> Work Entries --> Work Entries`." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:359 +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:`Jordan: Employee` entry to reveal the :guilabel:`Jordan: Monthly Pay` structure type. Click :guilabel:`Jordan: Monthly Pay` to view the detailed salary rules." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:248 -msgid "Next, generate the :ref:`payslips ` and process the payment." +#: ../../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/united_states.rst:-1 +msgid "The top portion of the US salary rules." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:-1 -msgid "Hong Kong Attendance Work Entry." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:367 +msgid "Each rule defines how pay is calculated, taking into account factors such as allowances, deductions, and taxes." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:-1 -msgid "Hong Kong Attendance Payslip." +#: ../../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/united_states.rst:397 +#: ../../content/applications/hr/payroll/salaries.rst:258 +msgid "Rule parameters" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:257 -msgid "Time Off with Payroll" +#: ../../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/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 "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:259 -msgid "The work entry types and time off types are fully integrated between the *Time Off* and *Payroll* apps. There are several default time off types and work entry types specific to Hong Kong which are installed automatically along with the *Hong Kong - Payroll* module." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:377 +msgid "The percentage rate for employee Social Security deductions is set in the `Jordan Social Security Employee Deduction Rate %` parameter." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:263 -msgid "Go to :menuselection:`Payroll app --> Configuration --> Work Entry Types` and click :guilabel:`New`." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:380 +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:365 +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:254 +#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:406 +msgid "Most rules pull information stored in the parameters module to get the rate of the rule (a percentage) and the cap (a dollar amount)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:265 -msgid "There are two checkboxes to be considered when setting up the work entry type:" +#: ../../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/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 "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:267 -msgid ":guilabel:`Use 713`: Include this leave type as part of 713 computation." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:389 +msgid "Odoo adds updated rule parameters for the current calendar year. It is **not** recommended to edit rule parameters **unless a national parameter has changed**, and is different from the rule parameters created by Odoo. Check with all national regulations *before* making any changes to rule parameters." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:268 -msgid ":guilabel:`Non-full pay`: 80% of the :abbr:`ADW (Average Daily Wage)`." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:395 +msgid "Run Jordan payroll" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:-1 -msgid "Hong Kong Work Entry Type." +#: ../../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 +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/hong_kong.rst:274 -msgid ":ref:`Creating and configuring work entry types `" +#: ../../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/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 "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:277 -msgid "Understanding 713 Ordinance" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:404 +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:416 +#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:436 +msgid "Any :ref:`discrepencies or conflicts ` must be resolved, then the work entries can be :ref:`regenerated `." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:279 -msgid "The *Hong Kong - Payroll* module is compliant with 713 Ordinance which relates to the :abbr:`ADW (Average Daily Wage)` computation to ensure fair compensation for employees." +#: ../../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/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 "" + +#: ../../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/united_states.rst:-1 +msgid "The work entries for a pay run, with some time off entered in the work entries." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:282 -msgid "The ADW computation is as follows:" +#: ../../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/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/hong_kong.rst:287 -msgid "Hong Kong ADW Formula." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:418 +#: ../../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 "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:287 -msgid ":abbr:`ADW (Average Daily Wage)` equals the total wage in a 12-month period, minus the wages of non-full pay, divided by the total days in a 12-month period minus the days of non-full pay." +#: ../../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/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/hong_kong.rst:291 -msgid "For 418 compliance, there is no automated allocation of the *Statutory Holiday* entitlement to the employees. As soon as 418 requirements are met, manually allocate the leaves, via the *Time Off* app." +#: ../../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/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/hong_kong.rst:296 -msgid "Before generating payslips, ensure the statuses are :guilabel:`Done` to validate the outcome." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:430 +#: ../../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 "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:301 -msgid "Period" +#: ../../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/united_states.rst:-1 +msgid "The worked days tab of a payslip." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:302 -msgid "Days" +#: ../../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/united_states.rst:470 +msgid "Accounting check" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:303 -msgid "Wage" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:440 +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/hong_kong.rst:304 -msgid "Commission" +#: ../../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/united_states.rst:478 +msgid "Journal entry creation" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:305 -msgid "Total" +#: ../../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/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 "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:306 -msgid "ADW" +#: ../../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/united_states.rst:484 +msgid "It must be decided if journal entries are done individually or in batches *before* running payroll." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:307 -msgid "Leave Value" +#: ../../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/united_states.rst:-1 +msgid "All payslips in a draft state." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:308 -msgid "Jan" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:458 +msgid "Thirteen accounts from the Jordan :abbr:`CoA (Chart of Accounts)` are included with the Jordan payroll localization:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:309 -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:323 -msgid "31" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:461 +msgid "`500301 Basic Salary`: Tracks the basic wages paid to employees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:310 -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:312 -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:317 -msgid "$20200" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:462 +msgid "`500302 Housing Allowance`: Captures housing allowance payments provided to employees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:311 -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:325 -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:332 -msgid "$0" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:463 +msgid "`500303 Transportation Allowance`: Captures transportation allowance payments to employees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:313 -msgid "$651.61 ($20200/31)" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:464 +msgid "`500308 Staff Other Allowances`: Covers employee allowances that do not fit any other available categories." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:314 -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:321 -msgid "N/A" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:466 +msgid "`500310 Salary Deductions`: Reflects deductions applied to employee salaries (e.g., advances, fines, statutory deductions)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:315 -msgid "Feb" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:468 +msgid "`500305 Leave Salary`: Records salaries actually paid to employees while on paid leave." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:316 -msgid "28" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:469 +msgid "`201022 Social Security Payable`: Holds both employee and employer amounts payable for social insurance contributions." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:318 -msgid "$5000" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:471 +msgid "`200502 Leave Days Provision`: Accrues the cost of paid leave; the balance is reduced when leave is taken, and any leave not taken may be paid out when the employee leaves the company." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:319 -msgid "$25200" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:473 +msgid "`200503 End of Service Provision`: Accumulates the end-of-service benefit monthly, so the amount can be paid (partially or fully) when the employee leaves, per service length and reason." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:320 -msgid "$769.49 ($45400/59)" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:475 +msgid "`200101 Payables`: Shows amounts payable to employees as salaries (unpaid salary liability at period end)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:322 -msgid "Mar (One Day Annual Leave)" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:477 +msgid "`500202 End of Service Indemnity`: Captures company expenses set aside to fund end-of-service benefits (expense-side counterpart to the provision)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:324 -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:326 -msgid "$20324.33" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:479 +msgid "`200307 Employee Income Tax`: Accumulates the income tax amount withheld from the employee's salary." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:327 -msgid "$730.27 ($65724.33/90)" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:481 +msgid "`500311 Social Security Expenses`: Captures The total expense amount from payments to the social insurance authority." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:328 -msgid "$769.49" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:484 +msgid "The :abbr:`CoA (Chart of Accounts)` configuration is done by default when installing the Jordan payroll localization. The account codes and names can be edited to suit the company's needs." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:329 -msgid "Apr (One Day 80% Sick Leave)" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:488 +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:504 +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:374 +#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:508 +msgid "If everything seems correct on the journal entry draft, post the journal entries." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:331 -msgid "$20117.56" +#: ../../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/united_states.rst:-1 +msgid "Journal entries posted." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:335 -msgid "$584.22 ($730.27*0.8)" +#: ../../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/united_states.rst:516 +msgid "Register Payments" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:338 -msgid "Here is an example demonstrating the 713 logic:" +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:498 +#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:518 +msgid "After the :ref:`journal entries ` are validated, Odoo can generate payments." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:340 -msgid "**Jan**: Generate a payslip with a monthly wage of $20200. The :abbr:`ADW (Average Daily Wage)` is always computed on a cumulative basis of the trailing 12-months." +#: ../../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/united_states.rst:525 +msgid "Payments can be :guilabel:`Grouped by Partner` if there is a partner associated with a salary rule." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:342 -msgid "**Feb**: Generate a similar payslip, but add an :guilabel:`Other Input Type` for the :guilabel:`Commission`." +#: ../../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/united_states.rst:-1 +msgid "Payslips with a status of paid." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:344 -msgid "**Mar**: Apply for **one** full-paid annual leave in March. The salary compensation for the leave taken is based on :abbr:`ADW (Average Daily Wage)` thus far." +#: ../../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/united_states.rst:531 +msgid "Close Payroll" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:0 -msgid "Hong Kong March 713." +#: ../../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/united_states.rst:533 +msgid "If there are no errors, payroll is completed for the pay period." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:350 -msgid "**Apr**: Apply for a 1-day non-full pay leave in April. Since this is a non-full pay leave, the :abbr:`ADW (Average Daily Wage)` is computed accordingly." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:511 +#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:536 +msgid "Reports" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:0 -msgid "Hong Kong April 713." +#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:513 +msgid "No additional payroll reports unique to the Jordan payroll localization exist. All reports are the standard preconfigured reports included with the **Payroll** app." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:357 -msgid "The value of :abbr:`ADW (Average Daily Wage)` is computed in the backend, and not be visible to the user." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:3 +msgid "Mexico" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:361 -msgid "`HK 713 Ordinance `_" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:11 +msgid "The Mexico payroll localization covers salary computations for employees, including employee and employer payroll taxes." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:362 -msgid "`HK 418 Ordinance `_" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:14 +msgid "Before configuring the Mexico localization, review the general :doc:`payroll documentation <../../payroll>`, which covers basic configurations and settings applicable to all localizations." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:365 -msgid "Generate reports" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:22 +msgid ":ref:`Install ` the following modules to get all the features of the Mexico payroll localization:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:367 -msgid "Before generating the below reports, setup the following in :menuselection:`Settings app --> Payroll`." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:32 +msgid ":guilabel:`Mexico - Payroll`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:370 -msgid "Configure the following in the :guilabel:`Accounting` section:" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:33 +msgid "`l10n_mx_hr_payroll`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:372 -msgid "Tick the :guilabel:`Payroll HSBC Autopay` checkbox." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:35 +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:36 +#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:47 +msgid "hr_work_entry_holidays" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:374 -msgid ":guilabel:`Autopay Type`: Set as :guilabel:`H2H Submission`." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:37 +msgid "Adds the required fields to manage employee payroll and time off data." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:375 -msgid "Select the :guilabel:`Bank Account` to use." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:38 +msgid ":guilabel:`Mexico - Payroll CFDI`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:377 -msgid "Configure the following in the :guilabel:`HK Localization` section:" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:39 +msgid "`l10n_mx_hr_payroll_account_edi`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:379 -msgid ":guilabel:`Employer's Name shows on reports`" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:40 +msgid "l10n_mx_hr_payroll_account" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:380 -msgid ":guilabel:`Employer's File Number`" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:41 +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:48 +msgid "l10n_mx_edi" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:381 -msgid ":guilabel:`Manulife MPF Scheme`" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:42 +msgid "Adds the ability to sign |CFDI| payroll documents with the government." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:-1 -msgid "Hong Kong Payroll Settings." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:43 +msgid ":guilabel:`Mexico - Payroll with Accounting`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:387 -msgid "IRD report" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:44 +msgid "`l10n_mx_hr_payroll_account`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:389 -msgid "There are a total of **four** IRD reports available:" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:46 +msgid "l10n_mx" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:391 -msgid ":guilabel:`IR56B`: employer's Return of Remuneration and Pensions." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:47 +msgid "l10n_mx_hr_payroll" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:392 -msgid ":guilabel:`IR56E`: notification of Commencement of Employment." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:49 +msgid "Adds the required rules and parameters to manage local payroll calculations." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:393 -msgid ":guilabel:`IR56F`: notification of Ceasation of Employment (remaining in HK)." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:52 +msgid "Installing the :guilabel:`Mexico - Payroll CFDI` module automatically installs both the :guilabel:`Mexico - Payroll` and :guilabel:`Mexico - Payroll with Accounting` modules." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:394 -msgid ":guilabel:`IR56G`: notification of Ceasation of Employment (departing from HK permanently)." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:56 +msgid ":doc:`Configure the Mexico fiscal localization <../../../finance/fiscal_localizations/mexico>`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:396 -msgid "Go to :menuselection:`Payroll app --> Reporting`, and select one of the :guilabel:`IR56B/E/F/G Sheet` options:" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:59 +msgid "Company configurations" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:400 -msgid "Fill in the relevant information for the IRD report." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:66 +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:59 +#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:71 +msgid ":guilabel:`Address`: Complete the full address, including the :guilabel:`City`, :guilabel:`State`, :guilabel:`Zip Code`, and :guilabel:`Country`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:401 -msgid "Click on :guilabel:`Populate`, and the :guilabel:`Eligible Employees` smart button appears." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:70 +#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:75 +msgid "The state selected in the company's address is associated as the *work address* by default for the employee, and the one used to calculate payroll taxes." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:402 -msgid "The :guilabel:`Employee Declarations` status is :guilabel:`Draft` and changed to :guilabel:`Generated PDF` status once the schedule runs." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:73 +msgid ":guilabel:`RFC`: Enter the company's :abbr:`RFC (Registro Federal de Contribuyentes, or Federal Taxpayer Registry)` number." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:404 -msgid "Once the PDF is generated, the IRD form may be downloaded." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:75 +msgid ":guilabel:`Company ID` : This field is not used in the Mexico localization, and should remain blank." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:-1 -msgid "Hong Kong IR56B report." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:77 +msgid ":guilabel:`Currency`: By default, :abbr:`MXN (Mexican pesos)` is selected. If not, select :guilabel:`MXN` from the drop-down menu." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:410 -msgid "The scheduled action called *Payroll: Generate pdfs* can be manually triggered. It is set by default to run the PDF generation monthly." +#: ../../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/united_states.rst:82 +msgid ":guilabel:`Phone`: Enter the company phone number." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:414 -msgid "Manulife MPF sheet" +#: ../../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/united_states.rst:83 +msgid ":guilabel:`Email`: Enter the email used for general contact information." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:416 -msgid "Go to :menuselection:`Payroll app --> Reporting --> Manulife MPF Sheet`." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:83 +msgid "Ensure the information is accurate, as it is used when calculating various taxes." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:419 -msgid "Select the relevant :guilabel:`Year`, :guilabel:`Month`, and :guilabel:`Sequence No.`." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:88 +msgid "Every employee being paid must have their employee profiles configured for the Mexico payroll localization. Additional fields are present after configuring the database for Mexico." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:420 -msgid "Click on :guilabel:`Create XLSX`." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:101 +#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:104 +msgid "The state selected in this address determines which salary rules Odoo applies when calculating taxes." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:421 -msgid "The *Manulife MPF XLSX* file is then generated, and available for download." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:114 +msgid "Ensure the :guilabel:`Legal Name` and :guilabel:`Gender` fields are populated and configured in the :guilabel:`Personal Information` section." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:-1 -msgid "Hong Kong Manulife Sheet." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:117 +msgid "Ensure the following fields are properly populated in the :guilabel:`Citizenship` section:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:427 -msgid "Odoo will not be developing further reports for other MPF trustee as there will soon be an eMPF platform setup by the local government." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:119 +msgid ":guilabel:`Nationality (Country)`: The employee's country of citizenship." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:431 -msgid "`eMPF `_" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:120 +msgid ":guilabel:`SSN No (Social Security Number)`: A personal 11-digit :abbr:`NSS (Número de Seguridad Social)` number." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:434 -msgid "HSBC autopay report" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:122 +msgid ":guilabel:`RFC (Registro Federal de Contribuyentes)`: A personal 13-digit alphanumeric tax identification number." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:436 -msgid "If *HSBC Autopay* is selected as the batch payment method, click on :guilabel:`Create HSBC Autopay Report`, and fill in the mandatory fields:" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:124 +msgid ":guilabel:`CURP (Clave Única de Registro de Población)`: A personal 18-character alphanumeric code." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:-1 -msgid "Hong Kong HSBC Autopay wizard." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:-1 +msgid "Where all personal information is located on the employee profile." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/hong_kong.rst:442 -msgid "This creates an :file:`.apc` file format which can be uploaded to the HSCB portal for processing." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:139 +msgid ":guilabel:`Contract`: The time period the contract is valid for. If the second field is left blank, the contract runs indefinitely." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:3 -msgid "Jordan" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:152 +msgid ":guilabel:`Wage`: Enter the amount and frequency the employee is paid." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:5 -msgid "The Jordan **Payroll** localization package offers a comprehensive solution for managing payroll in compliance with Jordanian labor laws. It supports income tax calculations using progressive tax brackets, social security contributions from both employees and employers and basic salary calculations, including allowances such as housing and transportation." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:153 +msgid ":guilabel:`Contract Type`: Determines how the employee is paid and classified, such as :guilabel:`Indefinite Term Employment Contract`, :guilabel:`Hourly Wage Employment`, :guilabel:`Seasonal Employment Contract`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:13 -msgid ":ref:`Install ` the following modules to get all the features of the Jordan **Payroll** localization:" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:158 +msgid "The :guilabel:`Contract Type` field is visible on payslips." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:22 -msgid ":guilabel:`Jordan - Payroll`" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:160 +msgid ":guilabel:`Pay Category`: Select :guilabel:`Mexico: 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/jordan.rst:23 -msgid "`l10n_jo_hr_payroll`" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:162 +msgid ":guilabel:`Regime Type`: Select the correct regime type (Régimen de Contratación) for the employee. The selected regime type determines the employee's benefits, taxes, and social security contributions." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:24 -msgid "Payroll module supporting basic calculation, tax income brackets, and national contribution tax and social security" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:169 +msgid ":guilabel:`Work Entry Source`: Select :guilabel:`Working Schedule`, which creates :doc:`work entries <../work_entries>` based on the employee's assigned :ref:`working schedule ` (e.g., 40 hours per week)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:26 -msgid ":guilabel:`Jordan - Payroll with Accounting`" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:174 +msgid "The Mexico payroll localization is currently not able to create work entries from the **Attendances** or **Planning** apps." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:27 -msgid "`l10n_jo_hr_payroll_account`" +#: ../../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/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 "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:28 -msgid "Bridge module between **Payroll** and **Accounting**" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:184 +msgid "Options section" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:31 -msgid ":doc:`Jordan fiscal localization documentation <../../../finance/fiscal_localizations/jordan>`" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:186 +msgid "Enter the :guilabel:`Holiday Bonus Rate` percentage given annually ot the employee in the corresponding field. The percentage is calculated from the employee's base salary." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:34 -msgid "Basic calculations" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:189 +msgid "If the employee is contributing to a :guilabel:`Savings Fund`, enter the monthly amount to be contributed. The employer typically matches this amount, and the money is placed in a savings account that is accessible once a year to the employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:36 -msgid "The Jordan **Payroll** localization package in Odoo provides foundational payroll management tools that are compliant with Jordan's labor laws and regulations. Key features include:" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:194 +msgid "Vouchers section" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:39 -msgid "**Basic salary calculations**: Odoo supports the computation of employee salaries based on predefined salary structures, ensuring accurate payroll processing." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:196 +msgid "Some companies may offer extra benefits in the form of vouchers, which are paid to employees for food and transportation costs. If the company provides these benefits, configure the following fields:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:41 -msgid "**Social security contributions**: It handles social security deductions for employees and employer contributions, aligning with local regulations." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:200 +msgid ":guilabel:`Payment Period`: Using the drop-down menu, select how often the vouchers are paid out. The default options are either :guilabel:`Last Day of the Month`, if employees are paid at the end of the month, or :guilabel:`In the period`, if the vouchers are broken up and evenly distributed according to the payment schedule, such as weekly or bi-weekly." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:43 -msgid "**Taxation support**: The system is configured to handle income tax calculations in Jordan, including deductions based on progressive tax brackets as required by Jordanian labor and tax laws." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:204 +msgid ":guilabel:`Meal Vouchers`: Enter the monthly amount paid to the employee towards food expenses." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:46 -msgid "**Custom allowances and deductions**: The localization supports additional allowances, deductions, or overtime as part of payroll computation." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:205 +msgid ":guilabel:`Transport Vouchers`: Enter the monthly amount paid to the employee towards transportation, such as bus fare or parking fees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:49 -msgid "These features ensure businesses can manage payroll effectively and comply with Jordanian-specific legal requirements. For enhanced functionality, businesses may leverage Odoo's flexibility to customize payroll workflows." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:207 +msgid ":guilabel:`Gasoline Vouchers`: Enter the monthly amount paid to the employee for their vehicle's gas." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:54 -msgid "Social security" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:211 +msgid "The monetary amount for the vouchers is the *monthly amount* given to employees. If the :guilabel:`Payment Period` is set to :guilabel:`In the period`, Odoo calculates the voucher amount for each pay period." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:56 -msgid "The Jordan **Payroll** localization package in Odoo simplifies social security management by automating calculations for both employees and employers. Contributions are based on a percentage of the employee's basic salary, with a maximum insurable wage cap in line with Jordanian Social Security Corporation (SSC) regulations." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:215 +msgid "For example, if an employee is paid weekly, and their :guilabel:`Meal Voucher` is set to $100, the employee receives $25 in every weekly paycheck." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:62 -msgid "Employee contributions" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:-1 +msgid "The payroll tab of an employee form, filled out for Mexico." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:64 -msgid "Odoo calculates the employee's social security deduction as 7.5% of their basic salary, up to the insurable wage cap of 3,000 JOD. If the employee's salary exceeds this cap, the deduction is based on the capped amount. This ensures compliance with :abbr:`SSC (Jordanian Social Security Corporation)` requirements and reflects accurately on the employee's payslip." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:222 +msgid "Infonavit / Fonacot tab" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:70 -msgid "Employer contributions" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:225 +msgid "Infonavit section" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:72 -msgid "For employers, Odoo computes social security contributions as 14.25% of the employee's basic salary, also capped at 3,000 JOD. Like the employee contributions, if the salary exceeds this cap, the employer's contribution is calculated based on the capped amount. These contributions include pensions, workplace injury insurance, and other mandated benefits." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:227 +msgid ":abbr:`INFONAVIT (Instituto del Fondo Nacional de la Vivienda para los Trabajadores)` is a government institution that assists employees with affordable mortgage credits, which can be used to buy, build, or remodel a home, or pay off an existing mortgage." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:80 -msgid "**Capped contributions**: The system ensures that both employee and employer contributions are aligned with the SSC-mandated insurance cap." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:232 +msgid "Add an Infonavit credit" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:82 -msgid "**Automated calculations**: Contributions are automatically calculated and included in payroll, reducing errors and administrative work." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:234 +msgid "To create an :abbr:`INFONAVIT (Instituto del Fondo Nacional de la Vivienda para los Trabajadores)` credit, click :guilabel:`Add a line`, and a :guilabel:`Create an Infonavit Credit` pop-up window loads." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:84 -msgid "**Compliance with regulations**: Odoo's configuration ensures full compliance with Jordanian social security laws, reflecting the correct rates and caps for both sides." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:238 +msgid "By default, the :guilabel:`Status` field is populated with :guilabel:`In Progress`. This indicates the credit is active." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:88 -msgid "Income tax calculation" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:241 +msgid "Next, select the :guilabel:`Type` of credit, either a :guilabel:`Fixed Monetary Fee`, a :guilabel:`Percentage`, or a :guilabel:`Discount Factor`. After this field is configured, a corresponding field appears on the form." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:90 -msgid "The Jordan **Payroll** localization package automates income tax calculations using progressive tax brackets, ensuring compliance with Jordanian labor laws. The system applies income tax rates based on the employee's annual gross income, with higher brackets subject to increased percentages. The calculations are divided into six brackets, and the appropriate tax is deducted monthly." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:245 +msgid "Enter the :guilabel:`Monthly Insurance` to be paid directly to the debt. If any additional funds are contributed by the employee, enter the additional amount in the :guilabel:`Extra Fixed Monthly Contribution` field." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:98 -msgid "**5% bracket**: Applicable to annual gross income up to 5,000 JOD. Odoo calculates 5% of the income within this range. If the gross income is below 5,000 JOD, the entire amount is taxed at 5%." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:249 +msgid "The last field corresponds to the :guilabel:`Type` selected. Enter the :guilabel:`Fixed Monetary Fee`, :guilabel:`Percentage`, or :guilabel:`Discount Factor` in the field." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:101 -msgid "**10% bracket**: Applicable to annual gross income between 5,001 and 10,000 JOD. Only the portion of income exceeding 5,000 JOD is taxed at 10%. For example, if the gross income is 7,000 JOD, only 2,000 JOD is taxed at 10%." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:252 +msgid "Once all fields are configured, click the :guilabel:`Save & Close` button, and the credit is added to the :abbr:`INFONAVIT (Instituto del Fondo Nacional de la Vivienda para los Trabajadores)` section." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:104 -msgid "**15% bracket**: Applicable to annual gross income between 10,001 and 15,000 JOD. The portion of income exceeding 10,000 JOD up to 15,000 JOD is taxed at 15%. For instance, if the gross income is 12,000 JOD, only 2,000 JOD is taxed at 15%." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:-1 +msgid "The INFONAVIT section filled out for an employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:107 -msgid "**20% bracket**: Applicable to annual gross income between 15,001 and 20,000 JOD. Income within this range is taxed at 20%, with deductions automatically adjusted by Odoo." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:260 +msgid "Once :abbr:`INFONAVIT (Instituto del Fondo Nacional de la Vivienda para los Trabajadores)` credits are fully paid, the payroll officer **must** change the :guilabel:`Status` of each completed line item to :guilabel:`Closed`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:109 -msgid "**25% bracket**: Applicable to annual gross income between 20,001 and 1,000,000 JOD. Income beyond 20,000 JOD up to 1,000,000 JOD is taxed at 25%. For higher incomes, Odoo ensures accurate calculations by applying the cap of this range." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:264 +msgid "If the payroll officer does **not** change the status, money will continue to be contributed to the employee's account in all subsequent paychecks." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:112 -msgid "**30% bracket**: Applicable to annual gross income exceeding 1,000,000 JOD. Any income above this amount is taxed at 30%, with the system ensuring accurate monthly deductions for high-income earners." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:268 +msgid "Fonacot section" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:117 -msgid "Automated process" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:270 +msgid ":abbr:`FONACOT (Fondo Nacional para el Consumo de los Trabajadores)` is a Mexican government program that provides employees with low-cost loans for various needs, such as home improvements, education, or emergencies." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:119 -msgid "Odoo determines the appropriate tax bracket for each employee based on their gross annual income and applies the corresponding rates. These deductions are prorated and deducted monthly, simplifying payroll management and ensuring compliance." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:274 +msgid "The :abbr:`FONACOT (Fondo Nacional para el Consumo de los Trabajadores)` section is where employee repayments are configured." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:126 -msgid "**Progressive tax system**: Calculates taxes for each income range individually, ensuring fairness and accuracy." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:278 +msgid "Add a Fonacot credit" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:128 -msgid "**Automated deductions**: Ensures a smooth payroll workflows with accurate and timely monthly tax deductions." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:280 +msgid "To add a line to the :abbr:`FONACOT (Fondo Nacional para el Consumo de los Trabajadores)` section, click :guilabel:`Add a line`, and a blank line loads. The :guilabel:`Status` is set to :guilabel:`In Progress`, by default." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:130 -msgid "**Alignment with Jordanian regulations**: Fully complies with Jordanian tax laws, minimizing manual intervention and errors." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:284 +msgid "Enter the monthly payment amount in the :guilabel:`Import` field. If the employee wishes to make any additional payments each month, enter the value in the :guilabel:`Extra Monthly Contribution` field." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:3 -msgid "Mexico" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:288 +msgid "Once :abbr:`FONACOT (Fondo Nacional para el Consumo de los Trabajadores)` loans are paid off, the payroll officer **must** change the :guilabel:`Status` of each completed line item to :guilabel:`Closed`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:11 -msgid "The Mexico payroll localization covers salary computations for employees, including employee and employer payroll taxes." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:292 +msgid "If the payroll officer does **not** change the status, money will continue to be taken out of the employee's account in all subsequent paychecks." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:14 -msgid "Before configuring the Mexico localization, review the general :doc:`payroll documentation <../../payroll>`, which covers basic configurations and settings applicable to all localizations." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:298 +msgid "Several sections within the **Payroll** app installs a *salary structure*, *structure type*, *rules*, and *rule parameters* specific to Mexico." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:20 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:31 -msgid "Apps & modules" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:301 +msgid "Prior to running payroll, the :abbr:`CFDI (Comprobante Fiscal Digital por Internet)` must also be configured." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:22 -msgid ":ref:`Install ` the following modules to get all the features of the Mexico payroll localization:" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:305 +msgid "CFDI configuration" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:30 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:41 -msgid "Dependencies" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:307 +msgid "The :abbr:`CFDI (Comprobante Fiscal Digital por Internet)` is a **required** electronic tax receipt that acts as a digital invoice. The :abbr:`CFDI (Comprobante Fiscal Digital por Internet)` **must** be certified by a :abbr:`PAC (Authorized Certification Provider)` *before* being submitted to the Mexican Tax Administration (:abbr:`SAT (Servicio de Administración Tributaria)`)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:32 -msgid ":guilabel:`Mexico - Payroll`" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:312 +msgid "This document serves as proof of income, expenses, and payroll, and requires both a :abbr:`UUID (Universally Unique Identifier)` and a digital signature, to comply with Mexican tax laws." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:33 -msgid "`l10n_mx_hr_payroll`" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:315 +msgid "First, navigate to :menuselection:`Payroll app --> Configuration --> Settings`, and scroll to the :guilabel:`CFDI` section." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:34 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:45 -msgid "hr_payroll" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:318 +msgid "Enter the :guilabel:`Employer IMSS ID` in the corresponding field, and select the appropriate :guilabel:`Risk Type` using the drop-down menu. If no risk is associated with the company, select :guilabel:`Does Not Apply`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:35 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:47 -msgid "hr_work_entry_holidays" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:323 +msgid "Mexico assigns different :guilabel:`Risk Types` based on several factors, including information cross-referenced from previously submitted employee and employer. Consult the company's payroll officer to determine the correct risk type." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:36 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:48 -msgid "hr_payroll_holidays" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:330 +msgid "When the **l10n_mx_hr_payroll** module is :ref:`installed `, a new :guilabel:`Salary Structure` gets installed, :guilabel:`Mexico: Employee`. This structure includes two :guilabel:`Structure Types`, a :guilabel:`Mexico: Regular Pay`, and a :guilabel:`Mexico: Christmas Bonus`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:37 -msgid "Adds the required fields to manage employee payroll and time off data." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:335 +msgid "The :guilabel:`Salary Structure` contains all the individual :ref:`salary rules ` for each :guilabel:`Structure Type`, which informs the **Payroll** app how to calculate employee payslips." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:38 -msgid ":guilabel:`Mexico - Payroll CFDI`" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:-1 +msgid "The Mexico salary structures in the salary structures list." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:39 -msgid "`l10n_mx_hr_payroll_account_edi`" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:347 +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:`Mexico: Employee` group to reveal the two available structure types. Click :guilabel:`Mexico: Regular Pay` to view the detailed regular pay salary rules." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:40 -msgid "l10n_mx_hr_payroll_account" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:355 +msgid "Each rule defines how pay is calculated, taking into account factors such as bonuses, allowances, vouchers, and taxes." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:41 -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:48 -msgid "l10n_mx_edi" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:361 +msgid "Some calculations require specific rates associated with them, such as bonuses and holidays. *Rule Parameters* are capable of listing a value, either a percentage or a fixed amount, to reference in the salary rules." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:42 -msgid "Adds the ability to sign |CFDI| payroll documents with the government." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:373 +msgid "In Mexico, all companies are **required** to configure the following rule parameters:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:43 -msgid ":guilabel:`Mexico - Payroll with Accounting`" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:375 +msgid ":guilabel:`Mexico: Risk Bonus Rate` (Prima de Riesgo del IMSS): The :guilabel:`Risk Bonus Rate` is referred to as the *Occupational Risk Premium (Prima de Riesgo de Trabajo)*. This is the amount the company must contribution to the :abbr:`IMSS (Instituto Mexicano del Seguro Social)`, aka the *Mexican Social Security Institute*. This amount is based on the company's *accident rate*, which is calculated using multiple factors, including the number of accidents the company has reported, and the general level of risk the type of company works with. The rate is determined by the :abbr:`IMSS (Instituto Mexicano del Seguro Social)` for each company, therefore this rate **must** be updated when configuring the Mexico payroll localization." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:44 -msgid "`l10n_mx_hr_payroll_account`" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:383 +msgid ":guilabel:`Mexico: Christmas Bonus` (Días de Aguinaldo): In Mexico, an annual Christmas bonus is given to all employees. The bonus must be for a minimum of 15 days of pay. Companies that provide a higher bonus **must** modify this value. In Odoo, all employees of a company recieve the same amout of paid days for their Chirstmas bonus." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:45 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:53 -msgid "hr_payroll_account" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:387 +msgid ":guilabel:`Mexico: Holiday Table` (Tabla de vacaciones): This rule outlines the number of vacation days an employee is allocated, based on their years of service. This **must** be modified, if needed, to reflect the company's paid vacation policy." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:46 -msgid "l10n_mx" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:392 +msgid "The :guilabel:`Mexico: Risk Bonus Rate` of a company is different from the one added by default in Odoo. To update this, navigate to :menuselection:`Payroll app --> Configuration --> Rule Parameters`, then, filter the results by :guilabel:`Mexico: Risk Bonus Rate`, and edit the :guilabel:`Parameter Value`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:47 -msgid "l10n_mx_hr_payroll" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:398 +msgid "Odoo adds updated rule parameters for the current calendar year. It is **not** recommended to edit rule parameters (other than the four that must be reviewed and updated, listed above) **unless a national or state 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/mexico.rst:49 -msgid "Adds the required rules and parameters to manage local payroll calculations." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:407 +msgid "Run Mexico payroll" msgstr "" - -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:52 -msgid "Installing the :guilabel:`Mexico - Payroll CFDI` module automatically installs both the :guilabel:`Mexico - Payroll` and :guilabel:`Mexico - Payroll with Accounting` modules." + +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:430 +msgid "The process of running payroll includes different actions that need to be executed to ensure that the amount withheld for funds and government institutions 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 "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:56 -msgid ":doc:`Configure the Mexico fiscal localization <../../../finance/fiscal_localizations/mexico>`" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:438 +msgid "Once the payslips are drafted, review them for accuracy. Check the :guilabel:`Worked Days` and :guilabel:`Salary Inputs` tabs, and ensure the listed worked time is correct, as well as any other inputs. Add any missing inputs, such as commissions, bonuses, and :abbr:`ISR (Impuesto Sobre la Renta)` adjustments that are missing." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:59 -msgid "Company configurations" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:443 +msgid "Next, check the various totals (gross pay, vouchers, IMSS contributions, :abbr:`CEAV (Cesantía en Edad Avanzada y Vejez)`, taxes, and gross pay), then click :guilabel:`Compute Sheet` to update the salary calculations, if there were edits. If everything is correct, click :guilabel:`Validate`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:61 -#: ../../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:" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:453 +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/mexico.rst:65 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:70 -msgid ":guilabel:`Company Name`: Enter the business name in this field." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:471 +msgid "Twenty-two accounts from the Mexico :abbr:`CoA (Chart of Accounts)` are included with the payroll localization:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:66 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:71 -msgid ":guilabel:`Address`: Complete the full address, including the :guilabel:`City`, :guilabel:`State`, :guilabel:`Zip Code`, and :guilabel:`Country`." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:474 +msgid ":guilabel:`110.01.01 Employment subsidy to apply`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:70 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:75 -msgid "The state selected in the company's address is associated as the *work address* by default for the employee, and the one used to calculate payroll taxes." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:475 +msgid ":guilabel:`210.02.01 Provision for vacation to pay`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:73 -msgid ":guilabel:`RFC`: Enter the company's :abbr:`RFC (Registro Federal de Contribuyentes, or Federal Taxpayer Registry)` number." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:476 +msgid ":guilabel:`211.01.01 Provision for employer IMSS to pay`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:75 -msgid ":guilabel:`Company ID` : This field is not used in the Mexico localization, and should remain blank." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:477 +msgid ":guilabel:`211.02.01 Provision for SAR to pay`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:77 -msgid ":guilabel:`Currency`: By default, :abbr:`MXN (Mexican pesos)` is selected. If not, select :guilabel:`MXN` from the drop-down menu." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:478 +msgid ":guilabel:`216.01.01 Withholding or income tax for wages and salaries`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:79 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:82 -msgid ":guilabel:`Phone`: Enter the company phone number." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:479 +msgid ":guilabel:`216.11.01 IMSS withholding tax`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:80 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:83 -msgid ":guilabel:`Email`: Enter the email used for general contact information." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:480 +msgid ":guilabel:`601.01.01 Wages and salaries`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:83 -msgid "Ensure the information is accurate, as it is used when calculating various taxes." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:481 +msgid ":guilabel:`601.07.01 Holiday Bonus`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:88 -msgid "Every employee being paid must have their employee profiles configured for the Mexico payroll localization. Additional fields are present after configuring the database for Mexico." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:482 +msgid ":guilabel:`601.15.01 Pantry`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:91 -#: ../../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." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:483 +msgid ":guilabel:`601.19.01 Savings fund`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:95 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:98 -msgid "Work tab" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:484 +msgid ":guilabel:`601.26.01 IMSS quota`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:97 -#: ../../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." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:485 +msgid ":guilabel:`601.27.01 Contributions to infonavit`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:101 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:104 -msgid "The state selected in this address determines which salary rules Odoo applies when calculating taxes." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:486 +msgid ":guilabel:`601.28.01 Contributions to the SAR`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:105 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:108 -msgid "Personal tab" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:487 +msgid ":guilabel:`201.01.02 Employee Reimbursement`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:107 -#: ../../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." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:488 +msgid ":guilabel:`205.06.02 Other Various Short-Term Credits (Fonacot)`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:110 -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." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:489 +msgid ":guilabel:`210.03.01 Provision for bonus to pay`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:114 -msgid "Ensure the :guilabel:`Legal Name` and :guilabel:`Gender` fields are populated and configured in the :guilabel:`Personal Information` section." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:490 +msgid ":guilabel:`210.04.01 Provision for savings fund to pay`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:117 -msgid "Ensure the following fields are properly populated in the :guilabel:`Citizenship` section:" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:491 +msgid ":guilabel:`211.03.01 Provision for infonavit to pay`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:119 -msgid ":guilabel:`Nationality (Country)`: The employee's country of citizenship." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:492 +msgid ":guilabel:`601.12.01 Bonus`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:120 -msgid ":guilabel:`SSN No (Social Security Number)`: A personal 11-digit :abbr:`NSS (Número de Seguridad Social)` number." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:493 +msgid ":guilabel:`601.16.02 Transport (gasoline vouchers)`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:122 -msgid ":guilabel:`RFC (Registro Federal de Contribuyentes)`: A personal 13-digit alphanumeric tax identification number." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:494 +msgid ":guilabel:`601.16.01 Transport (support)`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:124 -msgid ":guilabel:`CURP (Clave Única de Registro de Población)`: A personal 18-character alphanumeric code." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:495 +msgid ":guilabel:`601.74.01 Commissions on sales`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:-1 -msgid "Where all personal information is located on the employee profile." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:498 +msgid "The :abbr:`CoA (Chart of Accounts)` configuration is done by default when a company is located in Mexico. The account codes and names can be edited to suit the company's needs. If there is no :abbr:`CoA (Chart of Accounts)` account associated with a salary rule (used in a salary structure), Odoo uses the account `Salary Expenses` to create the journal entry, regardless of the nature of the move." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:134 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:128 -msgid "Contract overview section" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:514 +msgid "After the :ref:`journal entries ` are validated, Odoo can generate payments." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:136 -#: ../../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:" +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:517 +msgid "To generate payments from payslips,employee's **must** have a *trusted* bank account. If the employee's bank account is *not* marked as `trusted`, CFDI files **cannot** be generated through Odoo." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:139 -msgid ":guilabel:`Contract`: The time period the contract is valid for. If the second field is left blank, the contract runs indefinitely." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:525 +msgid "Generate CFDI XML files" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:141 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:135 -msgid ":guilabel:`Wage Type`: Select how the employee is paid." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:527 +msgid "After payslips have bee processed and paid, a :abbr:`CFDI (Comprobante Fiscal Digital por Internet)` XML file must be generated, which is then electronically submitted to Mexico's :abbr:`SAT (Servicio de Administración Tributaria)`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:143 -#: ../../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." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:531 +msgid "To create the :abbr:`CFDI (Comprobante Fiscal Digital por Internet)` file, open the individual payslip, and click the :guilabel:`Generate CFDI` button." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:145 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:139 -msgid "Select :guilabel:`Hourly Wage` for employees paid based on hours worked." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:534 +msgid "Once the file has been created and sent, a record is stored in the chatter." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:148 -#: ../../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." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:542 +msgid "Run Christmas bonus payroll" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:152 -msgid ":guilabel:`Wage`: Enter the amount and frequency the employee is paid." +#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:544 +msgid "To run the annual Christmas bonus, follow the same workflow for :ref:`regular Mexico payroll `, using the :guilabel:`Mexico: Christmas Bonus` salary structure." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:153 -msgid ":guilabel:`Contract Type`: Determines how the employee is paid and classified, such as :guilabel:`Indefinite Term Employment Contract`, :guilabel:`Hourly Wage Employment`, :guilabel:`Seasonal Employment Contract`." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:3 +msgid "Saudi Arabia" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:158 -msgid "The :guilabel:`Contract Type` field is visible on payslips." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:10 +msgid "The Saudi Arabia payroll localization covers salary computations for employees, including national and provincial regulations." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:160 -msgid ":guilabel:`Pay Category`: Select :guilabel:`Mexico: Employee.` for this field. This defines when the employee is paid, their default working schedule, and the work entry type it applies to." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:13 +msgid "Before configuring the Saudi Arabia 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/mexico.rst:162 -msgid ":guilabel:`Regime Type`: Select the correct regime type (Régimen de Contratación) for the employee. The selected regime type determines the employee's benefits, taxes, and social security contributions." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:22 +msgid ":ref:`Install ` the following modules to get all the features of the Saudi Arabia payroll localization:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:167 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:160 -msgid "Schedule section" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:32 +msgid ":guilabel:`Saudi Arabia - Payroll`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:169 -msgid ":guilabel:`Work Entry Source`: Select :guilabel:`Working Schedule`, which creates :doc:`work entries <../work_entries>` based on the employee's assigned :ref:`working schedule ` (e.g., 40 hours per week)." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:33 +msgid "`l10n_sa_hr_payroll`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:174 -msgid "The Mexico payroll localization is currently not able to create work entries from the **Attendances** or **Planning** apps." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:35 +#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:46 +msgid "hr_contract_reports" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:177 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:172 -msgid ":guilabel:`Extra Hours`: Tick the checkbox to allow the **Attendances** app to add any extra work entries logged by the employee." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:38 +msgid "Provides Saudi Arabia payroll basics, including salary structures (Basic/Gross/Net)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:179 -#: ../../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)." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:39 +msgid ":guilabel:`Saudi Arabia - Payroll with Accounting`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:184 -msgid "Options section" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:40 +msgid "`l10n_sa_hr_payroll_account`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:186 -msgid "Enter the :guilabel:`Holiday Bonus Rate` percentage given annually ot the employee in the corresponding field. The percentage is calculated from the employee's base salary." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:42 +msgid "l10n_sa" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:189 -msgid "If the employee is contributing to a :guilabel:`Savings Fund`, enter the monthly amount to be contributed. The employer typically matches this amount, and the money is placed in a savings account that is accessible once a year to the employee." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:43 +msgid "l10n_sa_hr_payroll" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:194 -msgid "Vouchers section" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:44 +#: ../../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 "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:196 -msgid "Some companies may offer extra benefits in the form of vouchers, which are paid to employees for food and transportation costs. If the company provides these benefits, configure the following fields:" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:48 +msgid ":doc:`Configure the Saudi Arabia fiscal localization <../../../finance/fiscal_localizations/saudi_arabia>`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:200 -msgid ":guilabel:`Payment Period`: Using the drop-down menu, select how often the vouchers are paid out. The default options are either :guilabel:`Last Day of the Month`, if employees are paid at the end of the month, or :guilabel:`In the period`, if the vouchers are broken up and evenly distributed according to the payment schedule, such as weekly or bi-weekly." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:61 +msgid ":guilabel:`VAT Number`: Enter the company's unique 15-digit :abbr:`VAT (Value Added Tax)` number." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:204 -msgid ":guilabel:`Meal Vouchers`: Enter the monthly amount paid to the employee towards food expenses." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:62 +msgid ":guilabel:`Company ID` : Enter the business's MoL number." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:205 -msgid ":guilabel:`Transport Vouchers`: Enter the monthly amount paid to the employee towards transportation, such as bus fare or parking fees." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:63 +msgid ":guilabel:`Currency`: By default, :abbr:`SAR (Saudi riyal)` is selected. If not, select :guilabel:`SAR` from the drop-down menu." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:207 -msgid ":guilabel:`Gasoline Vouchers`: Enter the monthly amount paid to the employee for their vehicle's gas." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:71 +msgid "Every employee being paid must have their employee profiles configured for the Saudi Arabia payroll localization. Additional fields are present after configuring the database for Saudi Arabia." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:211 -msgid "The monetary amount for the vouchers is the *monthly amount* given to employees. If the :guilabel:`Payment Period` is set to :guilabel:`In the period`, Odoo calculates the voucher amount for each pay period." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:86 +msgid "Select the correct :guilabel:`Nationality (Country)` for the employee, using the drop-down menu. The selected nationality determines the GOSI rate." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:215 -msgid "For example, if an employee is paid weekly, and their :guilabel:`Meal Voucher` is set to $100, the employee receives $25 in every weekly paycheck." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:92 +msgid "The employee's *bank account* is their :abbr:`IBAN (International Bank Account Number)`, which is how employees receive their salary according to :abbr:`WPS (Wages Protection System)` regulations." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:-1 -msgid "The payroll tab of an employee form, filled out for Mexico." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:95 +msgid "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 "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:222 -msgid "Infonavit / Fonacot tab" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:-1 +#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:-1 +msgid "Where bank account information is located on the employee profile." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:225 -msgid "Infonavit section" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:111 +#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:133 +msgid ":guilabel:`Contract`: The Validity of the compensation conditions can be updated depending on the needs." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:227 -msgid ":abbr:`INFONAVIT (Instituto del Fondo Nacional de la Vivienda para los Trabajadores)` is a government institution that assists employees with affordable mortgage credits, which can be used to buy, build, or remodel a home, or pay off an existing mortgage." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:126 +msgid ":guilabel:`Pay Category`: Select :abbr:`KSA (Kingdom of Saudi Arabia)` :guilabel:`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/mexico.rst:232 -msgid "Add an Infonavit credit" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:155 +msgid "Saudi payroll information section" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:234 -msgid "To create an :abbr:`INFONAVIT (Instituto del Fondo Nacional de la Vivienda para los Trabajadores)` credit, click :guilabel:`Add a line`, and a :guilabel:`Create an Infonavit Credit` pop-up window loads." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:157 +msgid "Enter the employee's unique 10-digit :guilabel:`Saudi National / IQAMA ID` number in this field. This number is issued to Saudi citizens by the :guilabel:`Ministerial Agency of Civil Affairs`, and is used for exporting WPS reports." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:238 -msgid "By default, the :guilabel:`Status` field is populated with :guilabel:`In Progress`. This indicates the credit is active." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:161 +msgid "The :guilabel:`Annual Leave Balance` field is not editable, and displays the employee's available annual vacation days." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:241 -msgid "Next, select the :guilabel:`Type` of credit, either a :guilabel:`Fixed Monetary Fee`, a :guilabel:`Percentage`, or a :guilabel:`Discount Factor`. After this field is configured, a corresponding field appears on the form." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:167 +msgid "This section determines the various benefits the employee receives. Enter the monthly Saudi riyal amount the employee receives from the company for :guilabel:`Housing`, :guilabel:`Transportation`, and :guilabel:`Other` costs." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:245 -msgid "Enter the :guilabel:`Monthly Insurance` to be paid directly to the debt. If any additional funds are contributed by the employee, enter the additional amount in the :guilabel:`Extra Fixed Monthly Contribution` field." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:171 +msgid "Enter the annual amount paid by the company for a Saudi :guilabel:`Iqama` (`iqama` is the Arabic word for `residence permit`). An :guilabel:`Iqama` is an official residency and identification card, similar to a visa, and it is . It is required for **all** foreign nationals to have a valid :guilabel:`Iqama` to work, live, and access various services in Saudi Arabia." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:249 -msgid "The last field corresponds to the :guilabel:`Type` selected. Enter the :guilabel:`Fixed Monetary Fee`, :guilabel:`Percentage`, or :guilabel:`Discount Factor` in the field." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:176 +msgid "Enter the annual amount the employer pays for the employee's :guilabel:`Medical Insurance` in the corresponding field." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:252 -msgid "Once all fields are configured, click the :guilabel:`Save & Close` button, and the credit is added to the :abbr:`INFONAVIT (Instituto del Fondo Nacional de la Vivienda para los Trabajadores)` section." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:179 +msgid "If the employee needs a :guilabel:`Work Permit`, enter the annual fees the company pays." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:-1 -msgid "The INFONAVIT section filled out for an employee." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:182 +msgid "End of service provision section" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:260 -msgid "Once :abbr:`INFONAVIT (Instituto del Fondo Nacional de la Vivienda para los Trabajadores)` credits are fully paid, the payroll officer **must** change the :guilabel:`Status` of each completed line item to :guilabel:`Closed`." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:184 +msgid "In Saudi Arabia, each employee earns a percentage of their annual salary for each year they have worked with a company. This amount is computed based on their salary. When they leave the company, they receive this compensation in one lump sum." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:264 -msgid "If the payroll officer does **not** change the status, money will continue to be contributed to the employee's account in all subsequent paychecks." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:188 +msgid "Enter the :guilabel:`Number of Days` the employee earns in annual compensation, in the corresponding field. The company sets this amount aside every year, so it is available when the employee leaves." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:268 -msgid "Fonacot section" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:194 +msgid "Several sections within the **Payroll** app installs a Salary Structure, Structure Type, Rules, and Parameters specific to Saudi Arabia. Additionally, some other configurations are required to run Saudi Arabia payroll." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:270 -msgid ":abbr:`FONACOT (Fondo Nacional para el Consumo de los Trabajadores)` is a Mexican government program that provides employees with low-cost loans for various needs, such as home improvements, education, or emergencies." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:201 +msgid "Payroll settings" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:274 -msgid "The :abbr:`FONACOT (Fondo Nacional para el Consumo de los Trabajadores)` section is where employee repayments are configured." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:203 +msgid "Navigate to :menuselection:`Payroll --> Configuration --> Settings` to access the **Payroll** app settings required for Saudi Arabia." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:278 -msgid "Add a Fonacot credit" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:206 +msgid "First, the company bank account must be configured to pay employees, per WPS regulations. Click into the drop-down space beneath the :guilabel:`Establishment Bank Account` field, and click :guilabel:`Create...`. This opens a :guilabel:`Create Establishment's Bank Account` pop-up window. :ref:`Configure the company's bank account `, and ensure it is marked as *trusted*. Click :guilabel:`Save` to save the information and close the window." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:280 -msgid "To add a line to the :abbr:`FONACOT (Fondo Nacional para el Consumo de los Trabajadores)` section, click :guilabel:`Add a line`, and a blank line loads. The :guilabel:`Status` is set to :guilabel:`In Progress`, by default." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:212 +msgid "Next, enter the company's :guilabel:`MoL Establishment ID`. This ID number is provided by Saudi Arabia's Ministry of Labor." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:284 -msgid "Enter the monthly payment amount in the :guilabel:`Import` field. If the employee wishes to make any additional payments each month, enter the value in the :guilabel:`Extra Monthly Contribution` field." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:215 +msgid "Finally, select the :ref:`time off type ` that is used to calculate the :guilabel:`Annual Leave Balance` set in the :ref:`employee's profile `." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:288 -msgid "Once :abbr:`FONACOT (Fondo Nacional para el Consumo de los Trabajadores)` loans are paid off, the payroll officer **must** change the :guilabel:`Status` of each completed line item to :guilabel:`Closed`." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:221 +msgid "When the **l10n_sa_hr_payroll** module is :ref:`installed `, a new :guilabel:`Salary Structure` gets installed, :guilabel:`KSA Employee`. This structure includes two :guilabel:`Structure Types`, :guilabel:`Saudi Arabia: Monthly Pay`, and :guilabel:`SA Salary Advance And Loan Structure`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:292 -msgid "If the payroll officer does **not** change the status, money will continue to be taken out of the employee's account in all subsequent paychecks." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:226 +#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:313 +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/mexico.rst:296 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:301 -msgid "Payroll configuration" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:-1 +msgid "The Saudi Arabia salary structure in the salary structures list." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:298 -msgid "Several sections within the **Payroll** app installs a *salary structure*, *structure type*, *rules*, and *rule parameters* specific to Mexico." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:237 +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:`KSA Employee` group to reveal the two available structure types. Click :guilabel:`Saudi Arabia: Monthly Pay` to view the detailed salary rules for that structure type." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:301 -msgid "Prior to running payroll, the :abbr:`CFDI (Comprobante Fiscal Digital por Internet)` must also be configured." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:245 +msgid "Each rule defines how pay is calculated, taking into account factors such as allowances, deductions, and company contributions." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:305 -msgid "CFDI configuration" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:262 +msgid "The Saudi Arabia payroll localization comes with four rule parameters:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:307 -msgid "The :abbr:`CFDI (Comprobante Fiscal Digital por Internet)` is a **required** electronic tax receipt that acts as a digital invoice. The :abbr:`CFDI (Comprobante Fiscal Digital por Internet)` **must** be certified by a :abbr:`PAC (Authorized Certification Provider)` *before* being submitted to the Mexican Tax Administration (:abbr:`SAT (Servicio de Administración Tributaria)`)." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:264 +msgid ":guilabel:`Saudi GOSI Company Contribution`: This rule parameter determines the calculation of the GOSI contributions the employer must make for Saudi Arabia employees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:312 -msgid "This document serves as proof of income, expenses, and payroll, and requires both a :abbr:`UUID (Universally Unique Identifier)` and a digital signature, to comply with Mexican tax laws." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:266 +msgid ":guilabel:`Non-Saudi GOSI Company Contribution`: This rule parameter determines the calculation of the GOSI contributions the employer must make for each non-Saudi Arabian employee." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:315 -msgid "First, navigate to :menuselection:`Payroll app --> Configuration --> Settings`, and scroll to the :guilabel:`CFDI` section." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:268 +msgid ":guilabel:`Saudi GOSI Employee Contribution`: This rule parameter determines the calculation of the GOSI contributions the employee must make, and is deducted from their pay." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:318 -msgid "Enter the :guilabel:`Employer IMSS ID` in the corresponding field, and select the appropriate :guilabel:`Risk Type` using the drop-down menu. If no risk is associated with the company, select :guilabel:`Does Not Apply`." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:270 +msgid ":guilabel:`Saudi Arabia Overtime Rate`: This rule parameter determines the overtime rate for employees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:323 -msgid "Mexico assigns different :guilabel:`Risk Types` based on several factors, including information cross-referenced from previously submitted employee and employer. Consult the company's payroll officer to determine the correct risk type." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:274 +msgid "Odoo adds updated rule parameters for the current calendar year. It is **not** recommended to edit rule parameters **unless a national or provincial 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/mexico.rst:328 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:307 -msgid "Salary structures & structure types" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:282 +msgid "Run Saudi Arabia payroll" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:330 -msgid "When the **l10n_mx_hr_payroll** module is :ref:`installed `, a new :guilabel:`Salary Structure` gets installed, :guilabel:`Mexico: Employee`. This structure includes two :guilabel:`Structure Types`, a :guilabel:`Mexico: Regular Pay`, and a :guilabel:`Mexico: Christmas Bonus`." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:291 +msgid "Any :ref:`discrepancies or conflicts ` must be resolved, then the work entries can be :ref:`regenerated `." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:335 -msgid "The :guilabel:`Salary Structure` contains all the individual :ref:`salary rules ` for each :guilabel:`Structure Type`, which informs the **Payroll** app how to calculate employee payslips." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:305 +msgid "The process of running payroll includes different actions that need to be executed to ensure that the amount that the employee receives as their net salary is correct, any deductions or allocations are correct, and the computation of hours worked reflects the employee's actual hours worked, among others." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:-1 -msgid "The Mexico salary structures in the salary structures list." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:317 +msgid "Next, check the various totals (gross pay, allowances, contributions, etc.), then click :guilabel:`Compute Sheet` to update the salary calculations, if there were edits. If everything is correct, click :guilabel:`Validate`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:345 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:322 -msgid "Salary rules" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:327 +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/mexico.rst:347 -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:`Mexico: Employee` group to reveal the two available structure types. Click :guilabel:`Mexico: Regular Pay` to view the detailed regular pay salary rules." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:345 +msgid "Fifteen accounts from the Saudi Arabia :abbr:`CoA (Chart of Accounts)` are included with the payroll localization:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:-1 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:-1 -msgid "The top portion of the US salary rules." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:348 +msgid "`400003 Basic Salary`: Tracks the basic wages paid to employees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:355 -msgid "Each rule defines how pay is calculated, taking into account factors such as bonuses, allowances, vouchers, and taxes." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:349 +msgid "`400004 Housing Allowance`: Captures housing allowance payments provided to employees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:359 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:397 -msgid "Rule parameters" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:350 +msgid "`400005 Transportation Allowance`: Captures transportation allowance payments to employees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:361 -msgid "Some calculations require specific rates associated with them, such as bonuses and holidays. *Rule Parameters* are capable of listing a value, either a percentage or a fixed amount, to reference in the salary rules." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:351 +msgid "`400012 Staff Other Allowances`: Covers employee allowances that do not fit standard categories." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:365 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:406 -msgid "Most rules pull information stored in the parameters module to get the rate of the rule (a percentage) and the cap (a dollar amount)." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:352 +msgid "`106012 Prepaid Employee Expenses`: Logged as prepaid assets for employer-paid items that are *not* wages (for example, `Iqama` fees and medical insurance) and expensed as consumed." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:368 -#: ../../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." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:354 +msgid "`201006 Leave Days Provision`: Accrues the cost of paid leave; the balance is reduced when leave is taken, and any leave not taken may be paid out at end of service." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:373 -msgid "In Mexico, all companies are **required** to configure the following rule parameters:" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:356 +msgid "`201022 GOSI Employee Payable`: Holds amounts payable for social insurance contributions to the GOSI, including both employee and employer portions." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:375 -msgid ":guilabel:`Mexico: Risk Bonus Rate` (Prima de Riesgo del IMSS): The :guilabel:`Risk Bonus Rate` is referred to as the *Occupational Risk Premium (Prima de Riesgo de Trabajo)*. This is the amount the company must contribution to the :abbr:`IMSS (Instituto Mexicano del Seguro Social)`, aka the *Mexican Social Security Institute*. This amount is based on the company's *accident rate*, which is calculated using multiple factors, including the number of accidents the company has reported, and the general level of risk the type of company works with. The rate is determined by the :abbr:`IMSS (Instituto Mexicano del Seguro Social)` for each company, therefore this rate **must** be updated when configuring the Mexico payroll localization." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:358 +msgid "`202001 End of Service Provision`: Accumulates the end-of-service benefit monthly so the amount can be paid (partially or fully) when the employee leaves, per service length and reason." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:383 -msgid ":guilabel:`Mexico: Christmas Bonus` (Días de Aguinaldo): In Mexico, an annual Christmas bonus is given to all employees. The bonus must be for a minimum of 15 days of pay. Companies that provide a higher bonus **must** modify this value. In Odoo, all employees of a company recieve the same amout of paid days for their Chirstmas bonus." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:360 +msgid "`400007 Leave Salary`: Records salaries actually paid to employees while on paid leave." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:387 -msgid ":guilabel:`Mexico: Holiday Table` (Tabla de vacaciones): This rule outlines the number of vacation days an employee is allocated, based on their years of service. This **must** be modified, if needed, to reflect the company's paid vacation policy." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:361 +msgid "`400008 End of Service Indemnity`: Captures company expenses set aside to fund end-of-service benefits (expense-side counterpart to the provision)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:392 -msgid "The :guilabel:`Mexico: Risk Bonus Rate` of a company is different from the one added by default in Odoo. To update this, navigate to :menuselection:`Payroll app --> Configuration --> Rule Parameters`, then, filter the results by :guilabel:`Mexico: Risk Bonus Rate`, and edit the :guilabel:`Parameter Value`." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:363 +msgid "`400009 Medical Insurance`: Accounts for employer expenses related to employee medical insurance premiums." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:398 -msgid "Odoo adds updated rule parameters for the current calendar year. It is **not** recommended to edit rule parameters (other than the four that must be reviewed and updated, listed above) **unless a national or state 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." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:365 +msgid "`400010 Life Insurance`: Tracks employer expenses for life/occupational insurance or the employer's portion of social insurance." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:407 -msgid "Run Mexico payroll" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:367 +msgid "`400014 Visa Expenses`: Used to track employer costs for non-Saudi Arabian employees' visas and related processing/renewal fees." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:409 -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." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:369 +msgid "`400074 Salary Deductions`: Reflects deductions applied to employee salaries (e.g., advances, fines, statutory deductions)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:413 -#: ../../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." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:371 +msgid "`201002 Payables`: Shows amounts payable to employees as salaries (unpaid salary liability at period end)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:416 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:436 -msgid "Any :ref:`discrepencies or conflicts ` must be resolved, then the work entries can be :ref:`regenerated `." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:384 +msgid "After the :ref:`journal entries ` are validated, Odoo can generate payments." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:419 -#: ../../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*." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:387 +msgid "To generate payments from payslips,employees **must** have a *trusted* bank account. If the employee's bank account is *not* marked as `trusted`, WPS files **cannot** be generated through Odoo." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.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." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:402 +msgid "Employee loans and advances" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:426 -#: ../../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." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:404 +msgid "Employees are able to request :ref:`loans ` or :ref:`advances ` against their salaries. *Loans* are handled by creating salary adjustments, whereas *advances* are created and managed manually." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:430 -msgid "The process of running payroll includes different actions that need to be executed to ensure that the amount withheld for funds and government institutions 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." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:411 +msgid "Employee loans" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:435 -#: ../../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." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:413 +msgid "Employees can take out *loans* against their salary and repay the loan with automatic deductions from future paychecks. These loans are handled by :ref:`creating a salary adjustment ` to log the total loan amount and set up a repayment plan, and :ref:`creating a payslip for the total loan amount `. The employee then :ref:`repays the loan ` in the increments configured in the salary adjustment." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:438 -msgid "Once the payslips are drafted, review them for accuracy. Check the :guilabel:`Worked Days` and :guilabel:`Salary Inputs` tabs, and ensure the listed worked time is correct, as well as any other inputs. Add any missing inputs, such as commissions, bonuses, and :abbr:`ISR (Impuesto Sobre la Renta)` adjustments that are missing." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:422 +msgid "Create a salary adjustment" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:443 -msgid "Next, check the various totals (gross pay, vouchers, IMSS contributions, :abbr:`CEAV (Cesantía en Edad Avanzada y Vejez)`, taxes, and gross pay), then click :guilabel:`Compute Sheet` to update the salary calculations, if there were edits. If everything is correct, click :guilabel:`Validate`." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:424 +msgid "When an employee requests a loan, first a *salary adjustment* is made, where the total loan amount and repayment plan is configured." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:-1 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:-1 -msgid "The worked days tab of a payslip." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:427 +msgid "To create the loan and repayment schedule, navigate to :menuselection:`Payroll app --> Employees --> Salary Adjustments`. Click :guilabel:`New`, and a blank :guilabel:`Salary Adjustment` form loads." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:451 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:470 -msgid "Accounting check" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:430 +msgid "Configure the following fields on the form:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:453 -msgid "The accounting process when running payroll has two components: :ref:`creating journal entries `, and :ref:`registering payments `." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:432 +msgid ":guilabel:`Employees`: Using the drop-down menu, select the employee taking out the loan." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:459 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:478 -msgid "Journal entry creation" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:433 +msgid ":guilabel:`Type`: Using the drop-down menu, select :guilabel:`Loan Deduction`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:461 -#: ../../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." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:434 +msgid ":guilabel:`Payslip Amount`: Enter the :abbr:`SAR (Saudi riyal)` amount to be repaid each payslip." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:465 -#: ../../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." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:435 +msgid ":guilabel:`Duration`: Tick the :guilabel:`Limited` option, which reveals a :guilabel:`until` (amount) :guilabel:`paid` field. First, using the calendar selector, enter the date the repayment begins. Next, enter the total loan amount in the field after :guilabel:`until`. Once both fields are configured, Odoo calculates when the loan is fully repaid, and displays the date as follows: `end in # years: (date)`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:-1 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:-1 -msgid "All payslips in a draft state." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:440 +msgid ":guilabel:`Note`: Enter any details about the loan in this field." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:471 -msgid "Twenty-two accounts from the Mexico :abbr:`CoA (Chart of Accounts)` are included with the payroll localization:" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:-1 +msgid "A salary adjustment form filled out for an employee loan." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:474 -msgid ":guilabel:`110.01.01 Employment subsidy to apply`" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:448 +msgid "Generate a loan payslip" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:475 -msgid ":guilabel:`210.02.01 Provision for vacation to pay`" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:450 +msgid "After creating the salary adjustment, a button labeled :guilabel:`Create Loan Payslip` appears above the form. Click :guilabel:`Create Loan Payslip`, and Odoo automatically generates a payslip configured for the employee loan, in the amount set up in the :ref:`salary adjustment `." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:476 -msgid ":guilabel:`211.01.01 Provision for employer IMSS to pay`" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:455 +msgid "Review the payslip to ensure all the fields and tabs are correct. The :guilabel:`Structure` should be :guilabel:`SA Salary Advance And Loan Structure`. The :guilabel:`Salary Inputs` tab should list a :guilabel:`Loan Deduction`, and the :guilabel:`Total` should be the full amount of the loan." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:477 -msgid ":guilabel:`211.02.01 Provision for SAR to pay`" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:459 +msgid "Click into the :guilabel:`Other Info` tab, and enter the date the employee receives the payment in the :guilabel:`Payment Date` field." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:478 -msgid ":guilabel:`216.01.01 Withholding or income tax for wages and salaries`" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:462 +msgid "Once the payslip form is correct, click :guilabel:`Compute Sheet`, then click :guilabel:`Create Draft Entry`, and click :guilabel:`OK` in the confirmation pop-up window. Next, click :guilabel:`Pay` to mark the payment as paid, then click :guilabel:`Create Payment Report` to :ref:`generate the WPS report `." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:479 -msgid ":guilabel:`216.11.01 IMSS withholding tax`" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:-1 +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:-1 +msgid "A configured loan payslip." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:480 -msgid ":guilabel:`601.01.01 Wages and salaries`" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:473 +msgid "Loan repayment to employer" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:481 -msgid ":guilabel:`601.07.01 Holiday Bonus`" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:475 +msgid "From the date set on the :ref:`salary attachment `, all future paychecks have the configured repayment amount taken out, to go towards the loan. Once the loan is fully paid, the deductions end." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:482 -msgid ":guilabel:`601.15.01 Pantry`" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:480 +msgid "The deductions should end after the total is repaid, according to the salary adjustment. To ensure payments *stop* being taken out of the employee's paychecks after the loan has been repaid, open the salary adjustment record. If the salary adjustment still has a status of :guilabel:`Running`, click the :guilabel:`Mark as Completed` button, and the status changes to :guilabel:`Closed`, and payments stop." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:483 -msgid ":guilabel:`601.19.01 Savings fund`" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:489 +msgid "Salary advances" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:484 -msgid ":guilabel:`601.26.01 IMSS quota`" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:491 +msgid "Employees can request an advance of their salary, outside of the regular pay cycle. This process is done by paying the employee with a :ref:`manually created payslip `, then the employee repays the advance either :ref:`in full ` in the next payslip, or in :ref:`multiple payments ` in subsequent paychecks until the total is repaid." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:485 -msgid ":guilabel:`601.27.01 Contributions to infonavit`" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:499 +msgid "Create advance payslip" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:486 -msgid ":guilabel:`601.28.01 Contributions to the SAR`" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:501 +msgid "To issue an advanced payment, navigate to :menuselection:`Payroll app --> Payslips --> Payslips`. Click the :guilabel:`New Off-Cycle` button and a blank :guilabel:`Employee Payslips` form loads." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:487 -msgid ":guilabel:`201.01.02 Employee Reimbursement`" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:504 +msgid "Configure the following fields on the payslip:" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:488 -msgid ":guilabel:`205.06.02 Other Various Short-Term Credits (Fonacot)`" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:506 +msgid ":guilabel:`Employees`: Using the drop-down menu, select the employee taking out the advance." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:489 -msgid ":guilabel:`210.03.01 Provision for bonus to pay`" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:509 +msgid "Once the :guilabel:`Employee` is selected, the :guilabel:`Employee Record` field populates with the most recent employee version (contract)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:490 -msgid ":guilabel:`210.04.01 Provision for savings fund to pay`" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:512 +msgid ":guilabel:`Structure`: Using the drop-down menu, select :guilabel:`SA Salary Advance And Loan Structure`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:491 -msgid ":guilabel:`211.03.01 Provision for infonavit to pay`" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:515 +msgid "Next, click :guilabel:`Add a line` in the :guilabel:`Salary Inputs` tab. Select :guilabel:`Salary Advance` for the :guilabel:`Type`. Next, enter any relevant description in the :guilabel:`Notes` field, such as `Advance for auto repair`. Last, enter the amount being advanced in the :guilabel:`Amount` field." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:492 -msgid ":guilabel:`601.12.01 Bonus`" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:520 +msgid "Once these fields have been configured, click :guilabel:`Compute Sheet`, then click :guilabel:`Create Draft Entry`, and click :guilabel:`OK` in the confirmation pop-up window. Click :guilabel:`Pay` to mark the payment as paid, then click :guilabel:`Create Payment Report` to :ref:`generate the WPS report `." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:493 -msgid ":guilabel:`601.16.02 Transport (gasoline vouchers)`" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:531 +msgid "Automatic repayment in full" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:494 -msgid ":guilabel:`601.16.01 Transport (support)`" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:533 +msgid "When the employee's next payslip is generated (using the `Saudi Arabia: Monthly Pay` structure), a line is added under the `Other Inputs` tab, titled `Advanced Recovery`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:495 -msgid ":guilabel:`601.74.01 Commissions on sales`" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:536 +msgid "The amount is based on the advance previously taken by the employee. If the employee cannot repay the full amount in the paycheck, the repayment can be broken up into :ref:`multiple payments `." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:498 -msgid "The :abbr:`CoA (Chart of Accounts)` configuration is done by default when a company is located in Mexico. The account codes and names can be edited to suit the company's needs. If there is no :abbr:`CoA (Chart of Accounts)` account associated with a salary rule (used in a salary structure), Odoo uses the account `Salary Expenses` to create the journal entry, regardless of the nature of the move." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:543 +msgid "Multiple payments" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:504 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:508 -msgid "If everything seems correct on the journal entry draft, post the journal entries." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:545 +msgid "When an employee cannot repay an advance in full in a future payslip, the employee can make partial payments until the advance is repaid. To do this, the amount being deducted from the employee's paycheck must be manually modified." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:-1 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:-1 -msgid "Journal entries posted." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:549 +msgid "Open the employee's payslip, and under the :guilabel:`Salary Inputs` tab, modify the amount specified on the :guilabel:`Advanced Recovery` line." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:512 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:516 -msgid "Register Payments" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:552 +msgid "Odoo automatically calculates the remainder of the advance, and adds an :guilabel:`Advanced Recovery` line for the balance in the subsequent payslip. If the employee cannot pay the second payment in full, the :guilabel:`Advanced Recovery` line can be edited in the following payslip." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:514 -msgid "After the :ref:`journal entries ` are validated, Odoo can generate payments." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:559 +msgid "WPS reports" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:517 -msgid "To generate payments from payslips,employee's **must** have a *trusted* bank account. If the employee's bank account is *not* marked as `trusted`, CFDI files **cannot** be generated through Odoo." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:561 +msgid "The WPS report is a mandatory report all Saudi Arabian companies are required to provide the government. The report confirms employee wages, including when and how much they were paid. The WPS report can be generated either per payslip or per pay run." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:-1 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:-1 -msgid "Payslips with a status of paid." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:566 +msgid "This report is structured in accordance with the technical guidelines issued by the MHRSD." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:525 -msgid "Generate CFDI XML files" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:569 +msgid "To run the WPS report, the :guilabel:`Establishment Bank Account` and :guilabel:`Ministry of Labor Establishment ID` fields **must** be :ref:`configured ` for the company." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:527 -msgid "After payslips have bee processed and paid, a :abbr:`CFDI (Comprobante Fiscal Digital por Internet)` XML file must be generated, which is then electronically submitted to Mexico's :abbr:`SAT (Servicio de Administración Tributaria)`." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:573 +msgid "Ensure the :guilabel:`Establishment Bank Account` has the :guilabel:`Bank Establishment ID`, and :guilabel:`Bank SARIE Code` fields configured, and the bank is marked as :guilabel:`Trusted`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:531 -msgid "To create the :abbr:`CFDI (Comprobante Fiscal Digital por Internet)` file, open the individual payslip, and click the :guilabel:`Generate CFDI` button." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:576 +msgid "Ensure all employees included in the report have a :guilabel:`Saudi National / IQAMA ID` set on their employee profile." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:534 -msgid "Once the file has been created and sent, a record is stored in the chatter." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:579 +msgid "First, :ref:`payslips or pay runs are generated `, then the :ref:`journal entries are posted `." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:537 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:531 -msgid "Close Payroll" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:582 +msgid "Click the :guilabel:`Payment Report` button on the :guilabel:`Pay Runs` dashboard, the individual pay run, or an individual payslip, and a payment report pop-up window loads." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:539 -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:533 -msgid "If there are no errors, payroll is completed for the pay period." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:585 +msgid ":guilabel:`Saudi WPS` is selected in the :guilabel:`Export Format` field, by default, and the :guilabel:`Payment Date` and :guilabel:`WPS Value Date` fields are both populated according to the selected payslips or pay runs." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:542 -msgid "Run Christmas bonus payroll" +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:589 +msgid "The :guilabel:`WPS Debit Date` is an optional field, and specifies the date the company physically pays the employees (transfers funds from the company account to employee accounts)." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:544 -msgid "To run the annual Christmas bonus, follow the same workflow for :ref:`regular Mexico payroll `, using the :guilabel:`Mexico: Christmas Bonus` salary structure." +#: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:592 +msgid "Once all fields are configured, click :guilabel:`Generate`, and the WPS report is created." msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/united_arab_emirates.rst:3 @@ -18171,10 +18567,6 @@ msgstr "" msgid "`l10n_us_hr_payroll`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:46 -msgid "hr_contract_reports" -msgstr "" - #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:49 msgid "Provides U.S. payroll basics, including employee tax details, salary structures (Basic/Gross/Net), tax rules, and W-2/3PA reporting." msgstr "" @@ -18195,18 +18587,10 @@ msgstr "" msgid "l10n_us_hr_payroll" msgstr "" -#: ../../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 "" - #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:60 msgid ":doc:`Configure the United States fiscal localization <../../../finance/fiscal_localizations/united_states>`" msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:64 -msgid "General configurations" -msgstr "" - #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:78 msgid ":guilabel:`Tax ID`: Enter the company's :abbr:`EIN (Employer Identification Number)`." msgstr "" @@ -18235,14 +18619,6 @@ msgstr "" msgid "Ensure there is a valid :guilabel:`SSN No` entered in the :guilabel:`Citizenship` section . The last four digits of the :abbr:`SSN (Social Security Number)` number appears on the employee's payslips." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:-1 -msgid "Where bank account information is located on the employee profile." -msgstr "" - -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:133 -msgid ":guilabel:`Contract`: The Validity of the compensation conditions can be updated depending on the needs." -msgstr "" - #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:146 msgid ":guilabel:`Contract Type`: Determines how the employee is paid and classified, such as :guilabel:`Salary-exempt`, :guilabel:`Salary-nonexempt`, :guilabel:`Hourly`." msgstr "" @@ -18255,26 +18631,6 @@ msgstr "" msgid ":guilabel:`Pay Category`: Select :guilabel:`United States: 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/united_states.rst:-1 -msgid "The contract overview section of the employee form of the payroll tab." -msgstr "" - -#: ../../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/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/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/united_states.rst:169 -msgid ":guilabel:`Planning`: Based on :ref:`scheduled shifts ` in the **Planning** app." -msgstr "" - #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:179 msgid "W-2 form section" msgstr "" @@ -18431,14 +18787,6 @@ msgstr "" msgid "When the **l10n_us_hr_payroll** module is :ref:`installed `, a new :guilabel:`Salary Structure` gets installed, :guilabel:`United States: Regular Pay`. This structure includes one :guilabel:`Structure Type`, :guilabel:`United States: Regular Pay`." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:313 -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/united_states.rst:-1 -msgid "The United States salary structure in the salary structures list." -msgstr "" - #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:324 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:`United States: Employee` group to reveal the :guilabel:`United States: Regular Pay` structure type. Click :guilabel:`United States: Regular Pay` to view the detailed salary rules." msgstr "" @@ -18515,10 +18863,6 @@ msgstr "" msgid "The rule for employer deductions for `Worker's Compensation` appears *after* several state-specific employer deductions are listed, and does **not** appear in the above image, but are listed in the rules." msgstr "" -#: ../../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 "" - #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:403 msgid "The wage base for Social Security tax calculations has a cap for 2025, accounted for in the `US: FICA OASDI Cap` parameter." msgstr "" @@ -18539,18 +18883,6 @@ msgstr "" msgid "Before running paypoll, 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/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 "" - -#: ../../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/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 "" - #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:472 msgid "The accounting process when running payroll has two components: :ref:`creating journal entries `, and :ref:`registering payments `." msgstr "" @@ -18579,22 +18911,10 @@ msgstr "" msgid "The :abbr:`CoA (Chart of Accounts)` configuration is done by default when a company is located in the US. The account codes and names can be edited to suit the company's needs. If there is no :abbr:`CoA (Chart of Accounts)` account associated with a salary rule (used in a salary structure), Odoo uses the account `Salary Expenses` to create the journal entry, regardless of the nature of the move." msgstr "" -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:518 -msgid "After the :ref:`journal entries ` are validated, Odoo can generate payments." -msgstr "" - #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:521 msgid "To generate payments from payslips,employee's **must** have a *trusted* bank account. If the employee's bank account is *not* marked as `trusted`, NACHA files **cannot** be generated through Odoo." msgstr "" -#: ../../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 "" - -#: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:536 -msgid "Reports" -msgstr "" - #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:538 msgid "The US localization contains several reports unique to the US, which provide tax information for employees, as well as the ability to integrate with outside organizations such as ADP." msgstr "" @@ -19109,276 +19429,364 @@ msgstr "" msgid "Process the payslips :ref:`in the same way a regular payslip is processed `, or in a batch." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:5 -msgid "The *Reporting* section of the *Payroll* app offers a variety of reports to choose from, organized by location." +#: ../../content/applications/hr/payroll/salaries.rst:3 +msgid "Salaries" msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:8 -msgid "The *Payroll* report, *Work Entry Analysis* report, and *Salary Attachment Report* are default reports in the *Payroll* app, and are available for all companies, regardless of location." +#: ../../content/applications/hr/payroll/salaries.rst:5 +msgid "In Odoo, salaries are calculated and determined by five factors: salary :ref:`structure types `, salary :ref:`structures `, :ref:`rules `, :ref:`rule parameters `, and :ref:`other input types `. Together, these determine how each employee's pay is calculated." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:11 -msgid "Beneath the three default reports are all localization-based reports, organized by country, in alphabetical order. These reports contain all the various information for the offered benefits and local tax laws." +#: ../../content/applications/hr/payroll/salaries.rst:10 +msgid "Each *structure type* contains one or more *structures* within it. Each *structure* contains a set of *rules*, and every *rule* uses *parameters* to define how specific amounts are calculated. Additional inputs, (such as bonuses or deductions) can also be included to adjust the final salary." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:15 -msgid "To view all the available reports for the database, including all the localization-specific ones, navigate to :menuselection:`Payroll app --> Reporting` to view the available reports in a drop-down menu. Click on a specific report to view it." +#: ../../content/applications/hr/payroll/salaries.rst:14 +msgid "When payslips are calculated, Odoo calculates the employee's worked time from their :doc:`work entries `, then applies the relevant structure, rules, and parameters from the employee's assigned structure type to determine their total pay." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:-1 -msgid "Report dashboard view showing extra reports for Belgium databases." +#: ../../content/applications/hr/payroll/salaries.rst:21 +msgid "Structure types" msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:23 -msgid "If a report is unavailable to a user, an :guilabel:`Invalid Operation` pop-up window appears, stating: :guilabel:`You must be logged in to a (country) company to use this feature`, where \"(country)\" is the specific country the company is configured for." +#: ../../content/applications/hr/payroll/salaries.rst:23 +msgid "In Odoo, a *structure type* groups related salary structures. When a contract specifies a structure type, **only** the structures within that type are used to calculate the employee's pay. Each structure type houses individual structures within them, each containing a set of rules for processing a timesheet entry." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:28 -msgid "Default reports" +#: ../../content/applications/hr/payroll/salaries.rst:28 +msgid "Structure types define key aspects of payroll configuration, including how often employees are paid, their working hours, the default salary structure, and whether wages are fixed (salary-based) or variable (hourly-based)." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:33 -msgid "Click on :menuselection:`Payroll app --> Reporting --> Payroll` to display the :guilabel:`Payroll Analysis` report. This report shows all the payslips generated in the last 365 days, due to the default :ref:`filter `: `Last 365 Days Payslip`." +#: ../../content/applications/hr/payroll/salaries.rst:33 +msgid "A structure type called `Employee` contains two different structures within it: a `Regular Pay` structure which includes all the separate rules for processing regular pay, and an `End of Year Bonus` structure, which includes the rules **only** for the end of year bonus. Both belong to the same `Employee` structure type." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:-1 -msgid "Payroll overview report showing payroll for the last 365 days." +#: ../../content/applications/hr/payroll/salaries.rst:38 +msgid "View existing *structure types* by navigating to :menuselection:`Payroll app --> Configuration --> Structure Types`." +msgstr "" + +#: ../../content/applications/hr/payroll/salaries.rst:41 +msgid "Two default structure types are preconfigured in Odoo: :guilabel:`Employee` and :guilabel:`Worker`." +msgstr "" + +#: ../../content/applications/hr/payroll/salaries.rst:43 +msgid "Typically, :guilabel:`Employee` is used for salaried employees, which is why the :guilabel:`Default Wage Type` is a :guilabel:`Fixed Wage`, and :guilabel:`Worker` is typically used for employees paid by the hour, so the wage type is :guilabel:`Hourly Wage`." +msgstr "" + +#: ../../content/applications/hr/payroll/salaries.rst:48 +msgid "If using a country-specific :doc:`payroll localizations `, it is recommended to use the structure in the corresponding country localization document." +msgstr "" + +#: ../../content/applications/hr/payroll/salaries.rst:-1 +msgid "List of all currently configured structure types available to use." +msgstr "" + +#: ../../content/applications/hr/payroll/salaries.rst:57 +msgid "New structure type" +msgstr "" + +#: ../../content/applications/hr/payroll/salaries.rst:59 +msgid "If the default structure types do not meet the company's needs, go to :menuselection:`Payroll app --> Configuration --> Structure Types` and click :guilabel:`New` to create a custom structure type." +msgstr "" + +#: ../../content/applications/hr/payroll/salaries.rst:63 +msgid "When creating a new salary structure type, ensure all local and national laws are accounted for. Confirm with the accounting department when configuring payroll structures, to ensure all requirements are met." +msgstr "" + +#: ../../content/applications/hr/payroll/salaries.rst:67 +msgid "Proceed to enter the following information in the fields:" msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:41 -msgid "The report can display metrics for a variety of parameters. Click the :guilabel:`Measures` box to view a drop-down menu with the various metric options to display. The default options available include:" +#: ../../content/applications/hr/payroll/salaries.rst:69 +msgid ":guilabel:`Structure Type`: Enter the name for the new structure type, such as `Employee` or `Worker`." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:45 -msgid ":guilabel:`# Payslip`" +#: ../../content/applications/hr/payroll/salaries.rst:71 +msgid ":guilabel:`Country`: Select the country that the new structure type applies to from the drop-down menu." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:46 -msgid ":guilabel:`Basic Wage`" +#: ../../content/applications/hr/payroll/salaries.rst:73 +msgid ":guilabel:`Wage Type`: Select the wage type for the structure:" msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:47 -msgid ":guilabel:`Basic Wage for Time Off`" +#: ../../content/applications/hr/payroll/salaries.rst:75 +msgid ":guilabel:`Fixed Wage`: For salaried employees who receive the same wage every pay period." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:48 -msgid ":guilabel:`Days of Paid Time Off`" +#: ../../content/applications/hr/payroll/salaries.rst:76 +msgid ":guilabel:`Hourly Wage`: For employees paid based on hours worked during a pay period." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:49 -msgid ":guilabel:`Days of Unforeseen Absence`" +#: ../../content/applications/hr/payroll/salaries.rst:78 +msgid ":guilabel:`Default Scheduled Pay`: Select the typical pay schedule for the new structure type from the drop-down menu. This indicates how often this specific type of structure is paid out." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:50 -msgid ":guilabel:`Days of Unpaid Time Off`" +#: ../../content/applications/hr/payroll/salaries.rst:80 +msgid ":guilabel:`Default Working Hours`: Select the default working hours for the new structure type from the drop-down menu. All available working hours for the currently selected company appear in the drop-down menu. The default working hours are the :guilabel:`Standard 40 hours/week` option. If the needed working hours do not appear in the list, a :ref:`new set of default working hours can be created `." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:51 -msgid ":guilabel:`Gross Wage`" +#: ../../content/applications/hr/payroll/salaries.rst:85 +msgid ":guilabel:`Regular Pay Structure`: Type in the name for the regular pay structure. It is used as the default option when generating payslips." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:52 -msgid ":guilabel:`Net Wage`" +#: ../../content/applications/hr/payroll/salaries.rst:87 +msgid ":guilabel:`Default Work Entry Type`: Select the default work entry type which is used to create all work entries for the employee." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:53 -msgid ":guilabel:`Number of Days`" +#: ../../content/applications/hr/payroll/salaries.rst:-1 +msgid "New structure type form to fill out when creating a new structure type." +msgstr "" + +#: ../../content/applications/hr/payroll/salaries.rst:96 +msgid "New default working hours" +msgstr "" + +#: ../../content/applications/hr/payroll/salaries.rst:98 +msgid "To make new default working hours, type the name for the new working hours in the :guilabel:`Default Working Hours` field on the new structure type form. Click :guilabel:`Create and edit`. A default working hours form pops up. The default working hours form has two sections: a general information section, and a tab listing all the individual working hours by day and time. When the form is completed, click :guilabel:`Save & Close`." +msgstr "" + +#: ../../content/applications/hr/payroll/salaries.rst:104 +msgid ":guilabel:`Name`: Type in the name for the new default working hours. This should be descriptive and clear to understand, such as `Standard 20 Hours/Week`." +msgstr "" + +#: ../../content/applications/hr/payroll/salaries.rst:106 +msgid ":guilabel:`Flexible Hours`: Tick the checkbox to let employees adjust their start and end times while maintaining the same total daily hours." +msgstr "" + +#: ../../content/applications/hr/payroll/salaries.rst:108 +msgid ":guilabel:`Company Full Time`: Enter the number of hours per week an employee needs to work to be considered a full-time employee. Typically, this is approximately 40 hours, and this number affects what types of benefits an employee can receive, based on their employment status (full-time vs part-time)." +msgstr "" + +#: ../../content/applications/hr/payroll/salaries.rst:112 +msgid ":guilabel:`Average Hour Per Day`: Auto-populated based on the working hours in the :guilabel:`Working Hours` tab. This entry affects resource planning by determining how many resources can be used per workday." +msgstr "" + +#: ../../content/applications/hr/payroll/salaries.rst:115 +#: ../../content/applications/hr/payroll/working_schedules.rst:55 +msgid ":guilabel:`Work Time Rate`: This percentage is auto-generated based on the entry for the :guilabel:`Company Full Time` and the working hours configured in the :guilabel:`Working Hours` tab. This number should be between `0.00%` and `100%`, so if the percentage is above `100%`, it is an indication that the working times and/or :guilabel:`Company Full Time` hours need adjustment." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:54 -msgid ":guilabel:`Number of Hours`" +#: ../../content/applications/hr/payroll/salaries.rst:119 +msgid ":guilabel:`Company`: Select the company that can use these new default working hours from the drop-down menu. Leave this field blank if the hours are available for all companies." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:55 -msgid ":guilabel:`Work Days`" +#: ../../content/applications/hr/payroll/salaries.rst:121 +#: ../../content/applications/hr/payroll/working_schedules.rst:61 +msgid ":guilabel:`Timezone`: Select the time zone to be used for the new default working hours from the drop-down menu." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:56 -msgid ":guilabel:`Work Hours`" +#: ../../content/applications/hr/payroll/salaries.rst:123 +msgid ":guilabel:`Working Hours` Tab: This tab is where each day's specific working hours are listed. When a new default working hour form is created, the :guilabel:`Working Hours` tab is pre-populated with a default 40-hour week, with each day divided into three timed sections." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:57 -msgid ":guilabel:`Count`" +#: ../../content/applications/hr/payroll/salaries.rst:127 +msgid "Each day includes morning (8:00–12:00), lunch (12:00–13:00), and afternoon (13:00–17:00) periods, configured using the 24-hour time format." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:59 -msgid ":guilabel:`Net Wage` is the default metric for the :guilabel:`Payroll` report." +#: ../../content/applications/hr/payroll/salaries.rst:130 +msgid "To adjust any of these hours, click the field and modify the time using the drop-down menus, or type the desired time directly." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:-1 -msgid "The various measures available to display for the Payroll Analysis report." +#: ../../content/applications/hr/payroll/salaries.rst:134 +msgid "Working hours are company-specific, and cannot be shared between companies." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:66 -msgid "Line chart" +#: ../../content/applications/hr/payroll/salaries.rst:137 +#: ../../content/applications/hr/payroll/working_schedules.rst:85 +msgid "If the working hours are not consistent each week, and the hours are on a bi-weekly schedule instead, click the :guilabel:`Switch to 2 week calendar` button at the top of the new default working hours form. This changes the :guilabel:`Working Hours` tab to display two weeks of working times that can be adjusted." +msgstr "" + +#: ../../content/applications/hr/payroll/salaries.rst:145 +msgid "Structures" +msgstr "" + +#: ../../content/applications/hr/payroll/salaries.rst:147 +msgid "*Salary structures* are the different situations in which an employee could be paid within a specific *structure*, and are specifically defined by various rules." +msgstr "" + +#: ../../content/applications/hr/payroll/salaries.rst:150 +msgid "The number of structures a company needs for each structure type depends on how many different ways employees are paid, and how their pay is calculated. A common example of an additional structure is a `Bonus`." +msgstr "" + +#: ../../content/applications/hr/payroll/salaries.rst:154 +msgid "To view all the various structures for each structure type, go to :menuselection:`Payroll app --> Configuration --> Structures`." +msgstr "" + +#: ../../content/applications/hr/payroll/salaries.rst:157 +msgid "Each :ref:`structure type ` lists the various structures associated with it. Each structure contains a set of rules that define it." +msgstr "" + +#: ../../content/applications/hr/payroll/salaries.rst:-1 +msgid "All available salary structures." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:68 -msgid "A line chart is the default view for the *Payroll* report. If a different view is selected, click the :guilabel:`Line Chart` button (represented by a :guilabel:`📈 (chart increasing)` icon) in the menu bar to change the view back to a line chart." +#: ../../content/applications/hr/payroll/salaries.rst:163 +msgid "Click on a structure to view its :guilabel:`Salary Rules`. These rules define how the payslip will be computed for the employee." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:72 -msgid "Several options are available for the line chart. Click the corresponding button to activate the selection, and change the way the data is presented. These icons appear at the end of the chart options. The various options are:" +#: ../../content/applications/hr/payroll/salaries.rst:167 +msgid "After installing a :doc:`payroll localization `, relevant structures are installed and appear in this list." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:78 -msgid ":guilabel:`Stacked`: data is presented with each metric in its own line, \"stacked\" on top of each other. This helps visualize the distribution and variances between different categories." +#: ../../content/applications/hr/payroll/salaries.rst:-1 +msgid "Salary structure details for Regular Pay, listing all the specific Salary Rules." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:83 -msgid ":guilabel:`Cumulative`: data is presented with each metric on an individual line, with the total amount calculated by combining all the lines. This provides a comprehensive view of the cumulative data." +#: ../../content/applications/hr/payroll/salaries.rst:178 +msgid "Each *structure* has a set of salary *rules* used to compute the various amounts considered in the pay. These rules are configured by the localization and affect the computation of the salaries." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:89 -msgid ":guilabel:`Descending`: data is shown with the largest values on the left side of the chart, gradually decreasing towards the smallest values on the right side, along the x-axis. This arrangement helps emphasize trends or outliers at the extremes." +#: ../../content/applications/hr/payroll/salaries.rst:182 +msgid "Modification or creation of rules should **only** be done when necessary." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:95 -msgid ":guilabel:`Ascending`: data is presented with the smallest values on the left side of the chart, increasing towards the largest values on the right side, along the x-axis. This arrangement can be useful for highlighting progressive growth or trends." +#: ../../content/applications/hr/payroll/salaries.rst:184 +msgid "To view all the rules, go to :menuselection:`Payroll app --> Configuration --> Rules`. Click on a structure (such as :guilabel:`Regular Pay`) to view all the rules." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:100 -msgid "These options can be combined to create a variety of views." +#: ../../content/applications/hr/payroll/salaries.rst:187 +msgid "To make a new rule, click :guilabel:`New`. A new rule form appears. Enter the following information in the fields." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:-1 -msgid "Menu buttons with the line chart called out, along with the other option buttons." +#: ../../content/applications/hr/payroll/salaries.rst:191 +msgid "Top section" msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:107 -msgid "Bar chart" +#: ../../content/applications/hr/payroll/salaries.rst:193 +msgid ":guilabel:`Rule Name`: Enter a name for the rule. This field is required." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:109 -msgid "To display the data in a bar chart, click on the :guilabel:`Bar Chart` button (represented by a :guilabel:`📊 (bar chart)` icon) in the menu bar." +#: ../../content/applications/hr/payroll/salaries.rst:194 +msgid ":guilabel:`Category`: Select a category the rule applies to from the drop-down menu, or enter a new one. This field is required." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:112 -msgid "Click the :ref:`Stacked ` icon to view the bar chart in a stacked format (where multiple values appear in each column). :ref:`Cumulative ` bar charts are useful for visualizing the progression over time or other categories." +#: ../../content/applications/hr/payroll/salaries.rst:196 +msgid ":guilabel:`Code`: Enter a code to be used for this new rule. This field is required." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:116 -msgid "An option to display the columns in :ref:`Descending ` or :ref:`Ascending ` order appears at the end of the options." +#: ../../content/applications/hr/payroll/salaries.rst:197 +msgid ":guilabel:`Sequence`: Enter a number indicating when this rule is calculated in the sequence of all other rules." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:-1 -msgid "Menu buttons with the bar chart called out, along with the other option buttons." +#: ../../content/applications/hr/payroll/salaries.rst:199 +msgid ":guilabel:`Salary Structure`: Select a salary structure the rule applies to from the drop-down menu, or enter a new one. This field is required." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:124 -msgid "Clicking an option enables it. To turn off the option, click it again. When the option is enabled the icon appears lighter, with a turquoise outline. When it is inactive, it appears gray, with no outline." +#: ../../content/applications/hr/payroll/salaries.rst:201 +msgid ":guilabel:`Active`: Enable this toggle so the rule is available for use. Disable the toggle to continue to show it on the payslip, but skip the computation." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:129 -msgid "Pie chart" +#: ../../content/applications/hr/payroll/salaries.rst:203 +msgid ":guilabel:`Appears on payslip`: Disabling the toggle will still show the rule on the payslip, it will just not be computed." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:131 -msgid "To display the data in a pie chart, click on the :guilabel:`Pie Chart` button (represented by a :guilabel:`(pie chart)` icon) in the menu bar. There are no additional options available in this view." +#: ../../content/applications/hr/payroll/salaries.rst:205 +msgid ":guilabel:`View on Employer Cost Dashboard`: Tick the checkbox to have the rule appear on the *Employer Cost* report, located on the *Payroll* app dashboard." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:-1 -msgid "Menu buttons with the pie chart called out." +#: ../../content/applications/hr/payroll/salaries.rst:207 +msgid ":guilabel:`View on Payroll Reporting`: Tick the checkbox to have the rule appear on payroll reports." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:140 -msgid "Pivot table" +#: ../../content/applications/hr/payroll/salaries.rst:-1 +msgid "Enter the information for the new rule on the new rule form." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:142 -msgid "To display the data in a pivot table, click on the :guilabel:`Pivot` button (represented by a :guilabel:`(pivot)` icon) located in the far-right side of the top menu bar." +#: ../../content/applications/hr/payroll/salaries.rst:214 +msgid "General tab" msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:145 -msgid "The default information displayed includes the number of payslips (:guilabel:`# Payslip`), the :guilabel:`Net Wage`, the :guilabel:`Gross Wage`, the number of :guilabel:`Days of Paid Time Off`, and the number of :guilabel:`Days of Unpaid Time Off`. The information is organized by department." +#: ../../content/applications/hr/payroll/salaries.rst:217 +msgid "Conditions" msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:149 -msgid "To display more information on the report, click the :guilabel:`Measures` button to reveal a drop-down menu. Then, click on any other metric to display it on the pivot table." +#: ../../content/applications/hr/payroll/salaries.rst:219 +msgid ":guilabel:`Condition Based on`: Select from the drop-down menu whether the rule is :guilabel:`Always True` (always applies), a :guilabel:`Range` (applies to a specific range, which is entered beneath the selection), :guilabel:`Other Input` (the condition is entered beneath the field), or a :guilabel:`Python Expression` (the code is entered beneath the selection). This field is required." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:-1 -msgid "Pivot table view with the various metrics called out." +#: ../../content/applications/hr/payroll/salaries.rst:226 +msgid "Computation" msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:156 -msgid "To sort the entries by a specific column, such as :guilabel:`Net Wage`, click on the column name twice. The first click selects the column, and the second click sorts the information in descending order." +#: ../../content/applications/hr/payroll/salaries.rst:228 +msgid ":guilabel:`Amount Type`: Select from the drop-down menu whether the amount is a :guilabel:`Fixed Amount`, a :guilabel:`Percentage (%)`, :guilabel:`Other Input`, or a :guilabel:`Python Code`. Depending on what is selected, the fixed amount, percentage, other input, or Python code needs to be entered next. This field is required." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:160 -msgid "To export the data in an XLSX format, click the :guilabel:`Download xlsx` button, represented by a :guilabel:`⬇️ (down arrow above a horizontal bar)` icon, located at the far-right of the available icons. The information is then downloaded into a spreadsheet." +#: ../../content/applications/hr/payroll/salaries.rst:234 +msgid "Company contribution" msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:-1 -msgid "The menu options with the download button highlighted." +#: ../../content/applications/hr/payroll/salaries.rst:236 +msgid ":guilabel:`Partner`: If another company financially contributes to this rule, select the company from the drop-down menu." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:168 -msgid "Any report can be inserted into a spreadsheet by clicking the :guilabel:`Insert in Spreadsheet` button. A :guilabel:`Select a spreadsheet to insert your (type of report)` pop-up window appears, asking which spreadsheet to place the information in. Select an existing spreadsheet or dashboard, or select a new :guilabel:`Blank spreadsheet`. Click the :guilabel:`Confirm` button to move to a spreadsheet view with the report added to it." +#: ../../content/applications/hr/payroll/salaries.rst:240 +msgid "Description tab" msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:-1 -msgid "The view of data sent to a spreadsheet." +#: ../../content/applications/hr/payroll/salaries.rst:242 +msgid "Provide any additional information in this tab to help clarify the rule. This tab only appears in the rule form." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:181 -msgid "If the **Documents** app is **not** installed, the :guilabel:`Insert in Spreadsheet` option places the newly-created spreadsheet in the **Dashboards** app." +#: ../../content/applications/hr/payroll/salaries.rst:246 +msgid "Accounting tab" msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:184 -msgid "If the **Documents** application *is* installed, the spreadsheet has the option to be stored in either the **Dashboards** app or **Documents** app." +#: ../../content/applications/hr/payroll/salaries.rst:248 +msgid ":guilabel:`Debit Account`: Select the debit account from the drop-down menu the rule affects." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:190 -msgid "Filters" +#: ../../content/applications/hr/payroll/salaries.rst:249 +msgid ":guilabel:`Credit Account`: Select the credit account from the drop-down menu the rule affects." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:192 -msgid "At the top of each report, the default filters are shown inside the :guilabel:`Search...` box." +#: ../../content/applications/hr/payroll/salaries.rst:250 +msgid ":guilabel:`Split account line based on name`: Tick the checkbox to split the accounting entry according to the payslip line name." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:194 -msgid "Click the :guilabel:`⬇️ (down arrow)` icon in the search bar to display the available :guilabel:`Filters`. Filters show information that match the specific filter parameters." +#: ../../content/applications/hr/payroll/salaries.rst:252 +msgid ":guilabel:`Not computed in net accountability`: If checked, the amount of the rule is shown independently from the net salary, to allow for better reporting in the **Accounting** app." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:198 -msgid "The :guilabel:`Work Entries Analysis` report has two default filters, the `Current month:(Month) (Year)` filter, and the `Validated` filter." +#: ../../content/applications/hr/payroll/salaries.rst:260 +msgid "Rule parameters inform Odoo how to calculate each line of a payslip. To view the configured rule parameters, navigate to :menuselection:`Payroll app --> Configuration --> Rule Parameters`." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:-1 -msgid "Filters enabled for the Work Entries Analysis report." +#: ../../content/applications/hr/payroll/salaries.rst:263 +msgid "All rule parameters are displayed. Click on an individual rule parameter to view the details." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:205 -msgid "The :guilabel:`Payroll` report has only one default filter, the `Last 365 Days Payslip` filter." +#: ../../content/applications/hr/payroll/salaries.rst:265 +msgid "Each rule parameter displays the name of the rule, the code, when the rule is active, and the parameter value." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:207 -msgid "The :guilabel:`Salary Attachment Report` has only one default filter, the `Payslip End Date: (Year)` filter." +#: ../../content/applications/hr/payroll/salaries.rst:269 +msgid "The rule parameters for overtime pay inform Odoo that employees receive time and a half when working over 40 hours." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:210 -msgid "All reports can include custom filters, or group information, by different metrics (employee, department, company, etc.)." +#: ../../content/applications/hr/payroll/salaries.rst:277 +msgid "When creating payslips, it is sometimes necessary to add other entries for specific circumstances, like tips, commissions, expenses, or deductions. These other inputs can be found by navigating to :menuselection:`Payroll app --> Configuration --> Other Input Types`." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:213 -msgid "Some reports have the option to compare the current report to the previous time period or year (a :guilabel:`Comparison` option)." +#: ../../content/applications/hr/payroll/salaries.rst:-1 +msgid "A list of other input types for payroll that can be selected when creating a new entry for\n" +"a payslip." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:216 -msgid "Click on a parameter to select it and activate it. The report is immediately updated with the new parameters." +#: ../../content/applications/hr/payroll/salaries.rst:285 +msgid "If a new input type is needed that does not appear on the list, click the :guilabel:`New` button to create a new input type. Enter the :guilabel:`Description`, the :guilabel:`Code`, and select which structure it applies to in the :guilabel:`Availability in Structure` field." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:219 -msgid "The updated report can be set as a *favorite* report, meaning the parameters are stored for quick access in the future. To do that, click :guilabel:`Save the current search`, under the :guilabel:`Favorites` section, located in the search bar drop-down mega menu of filter options. Doing so reveals two options and a :guilabel:`Save` button." +#: ../../content/applications/hr/payroll/salaries.rst:289 +msgid "Tick the :guilabel:`Available in attachments` checkbox if the input should be a salary attachment." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:224 -msgid "To set the current report as the default configuration when the report is accessed, check the box next to :guilabel:`Default filter`. If the current report should be accessible to everyone in the database, check the box next to :guilabel:`Share`." +#: ../../content/applications/hr/payroll/salaries.rst:292 +msgid "The :guilabel:`Code` is used in the salary rules to compute payslips. If the :guilabel:`Availability in Structure` field is left blank, it indicates that the new input type is available for all payslips and is not exclusive to a specific structure." msgstr "" -#: ../../content/applications/hr/payroll/reporting.rst:228 -msgid "Finally, click :guilabel:`Save`, which saves the currently configured report. Then, it appears beneath the :guilabel:`Favorites` in the search bar drop-down mega menu of filter options." +#: ../../content/applications/hr/payroll/salaries.rst:-1 +msgid "A new Input Type form filled in." msgstr "" #: ../../content/applications/hr/payroll/salary_attachments.rst:5 @@ -19646,30 +20054,38 @@ msgid "The time off details for an individual request that needs to be deferred. msgstr "" #: ../../content/applications/hr/payroll/work_entries.rst:5 -msgid "The **Payroll** app automatically creates work entries based on the employee's :ref:`salary structure type `, and from the **Planning**, **Attendances**, and **Time Off** applications." +msgid "A *work entry* is an individual record on an employee's timesheet. Work entries can be configured to account for all types of work and time off, such as :guilabel:`Attendance`, :guilabel:`Sick Time Off`, :guilabel:`Training`, or :guilabel:`Public Holiday`." msgstr "" #: ../../content/applications/hr/payroll/work_entries.rst:9 +msgid "The **Payroll** app automatically creates work entries based on the employee's :ref:`salary structure type `, and from the **Planning**, **Attendances**, and **Time Off** applications. When needed, work entries can also be :ref:`created manually `." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:14 msgid "Work entries provide the **Payroll** app with the worked hours used to compute employee paychecks, if the employee's salary is based on work entries, as opposed to a salaried position." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:15 +#: ../../content/applications/hr/payroll/work_entries.rst:18 +msgid "Odoo configures several work entry types by default, but :ref:`additional work entry types can be created `, when necessary." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:24 msgid "Work entry dashboard" msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:17 +#: ../../content/applications/hr/payroll/work_entries.rst:26 msgid "The *Work Entries* dashboard of the **Payroll** app provides a visual overview of the individual work entries for every employee." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:20 +#: ../../content/applications/hr/payroll/work_entries.rst:29 msgid "To open the dashboard, navigate to :menuselection:`Payroll app --> Work Entries --> Work Entries`." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:22 +#: ../../content/applications/hr/payroll/work_entries.rst:31 msgid "On the :guilabel:`Work Entry` dashboard, work entries appear in alphabetical order, based on the first name of the employees. The entire month is displayed, with the current day highlighted in pale yellow." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:26 +#: ../../content/applications/hr/payroll/work_entries.rst:35 msgid "The :guilabel:`Work Entry` dashboard has a default :guilabel:`Conflicting` filter, which displays only work entries with :ref:`conflicts ` to be resolved." msgstr "" @@ -19677,75 +20093,55 @@ msgstr "" msgid "Conflicts dashboard view showing all employee's conflicts in work entries." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:33 +#: ../../content/applications/hr/payroll/work_entries.rst:42 msgid "Remove the default :guilabel:`Conflicting` filter from the search bar to view *all* work entries." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:38 -msgid "Adjust view" -msgstr "" - -#: ../../content/applications/hr/payroll/work_entries.rst:40 -msgid "To change the view so that only the entries for a single day, week, month, quarter, or year are shown, click the :icon:`fa-calendar` :guilabel:`(Month)(Year)` button. A drop-down menu appears with the options of :guilabel:`Today`, :guilabel:`This week`, :guilabel:`This month`, :guilabel:`This quarter`, or :guilabel:`This year`. Click on one of the options to only display data for that specific selection." -msgstr "" - -#: ../../content/applications/hr/payroll/work_entries.rst:46 -msgid "Use the :icon:`oi-arrow-left` :guilabel:`(left arrow)` and :icon:`oi-arrow-right` :guilabel:`(right arrow)` buttons to adjust the displayed dates. The arrows adjust the date based on the type of time selected." -msgstr "" - -#: ../../content/applications/hr/payroll/work_entries.rst:50 -msgid "For example, if :guilabel:`Month` is selected, the arrows move one month with each click of the arrow. If :guilabel:`Week` or :guilabel:`Day` is selected, the time moves by either a week or a day for each click of the arrow, respectively." -msgstr "" - -#: ../../content/applications/hr/payroll/work_entries.rst:54 -msgid "At any point, to return to a view containing the current day, click the :icon:`fa-crosshairs` :guilabel:`(Focus Today)` button." -msgstr "" - -#: ../../content/applications/hr/payroll/work_entries.rst:60 +#: ../../content/applications/hr/payroll/work_entries.rst:47 msgid "Add a new work entry" msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:62 +#: ../../content/applications/hr/payroll/work_entries.rst:49 msgid "If a work entry is missing, such as sick time, or if an employee forgot to clock in and out for a shift, a new work entry must be created for the missing shift." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:65 +#: ../../content/applications/hr/payroll/work_entries.rst:52 msgid "Click :guilabel:`New` on the :ref:`work entry dashboard `, and a blank :guilabel:`Create` work entry pop-up form appears. Enter the following information on the form:" msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:68 +#: ../../content/applications/hr/payroll/work_entries.rst:55 msgid ":guilabel:`Description`: Enter a short description for the work entry, such as `Sick Time`. The default entry is `Attendance: (Employee)`." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:70 +#: ../../content/applications/hr/payroll/work_entries.rst:57 msgid ":guilabel:`Employee`: Select the employee the work entry is for, using the drop-down menu." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:71 -msgid ":guilabel:`Work Entry Type`: Select the :ref:`work entry type ` using the drop-down menu." +#: ../../content/applications/hr/payroll/work_entries.rst:58 +msgid ":guilabel:`Work Entry Type`: Select the :guilabel:`Work Entry Type` using the drop-down menu." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:73 +#: ../../content/applications/hr/payroll/work_entries.rst:59 msgid ":guilabel:`From` and :guilabel:`To`: Enter the start (:guilabel:`From`) and end (:guilabel:`To`) dates and times for the work entry." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:76 +#: ../../content/applications/hr/payroll/work_entries.rst:62 msgid "First, click on either the :guilabel:`From` or :guilabel:`To` line to reveal a calendar pop-up window. Select the date by navigating to the correct month, then click on the specific day to select it." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:80 +#: ../../content/applications/hr/payroll/work_entries.rst:66 msgid "Next, select the time, by clicking on either the hour or minute fields at the bottom of the calendar, and set the desired time." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:83 +#: ../../content/applications/hr/payroll/work_entries.rst:69 msgid "When the date and time for the entry are correct, click the :guilabel:`Apply` button." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:84 +#: ../../content/applications/hr/payroll/work_entries.rst:70 msgid ":guilabel:`Duration`: This field displays the hours based on the :guilabel:`To` and :guilabel:`From` entries. Modifying this field modifies the :guilabel:`To` field (the :guilabel:`From` field does not change)." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:88 +#: ../../content/applications/hr/payroll/work_entries.rst:74 msgid "Once the desired information is entered, click :guilabel:`Save & Close` to save the entry, and close the pop-up form." msgstr "" @@ -19753,19 +20149,19 @@ msgstr "" msgid "Filling in the work entry Create form in Odoo." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:97 +#: ../../content/applications/hr/payroll/work_entries.rst:83 msgid "Conflicts" msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:99 +#: ../../content/applications/hr/payroll/work_entries.rst:85 msgid "A conflict occurs when a request has not been approved, such as sick time or vacation, or if there are any errors on the work entry. Conflicts that span the current pay period being processed **must** be resolved before payslips can be generated." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:103 +#: ../../content/applications/hr/payroll/work_entries.rst:89 msgid "Any work entry that has a conflict to be resolved is indicated on the main :guilabel:`Work Entry` dashboard, which can be accessed by navigating to :menuselection:`Payroll app --> Work Entries --> Work Entries`. Only conflicts needing resolution are shown by default." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:107 +#: ../../content/applications/hr/payroll/work_entries.rst:93 msgid "Conflicts are indicated with an orange triangle in the top-left corner of each individual work entry. Click on an individual work entry to see the date and time for the specific work entry, then click :guilabel:`Edit` to view the conflict details in a pop-up window." msgstr "" @@ -19773,43 +20169,43 @@ msgstr "" msgid "A row of conflicts, with one entry showing details for the conflict." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:114 +#: ../../content/applications/hr/payroll/work_entries.rst:100 msgid "The conflict is briefly explained in an orange text box in the :guilabel:`Open` pop-up window that appears." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:117 +#: ../../content/applications/hr/payroll/work_entries.rst:103 msgid "The :guilabel:`Description`, :guilabel:`Employee`, and :guilabel:`Work Entry Type` are listed on the left side of the pop-up window. The :guilabel:`From` and :guilabel:`To` date and time range, as well as the total time (in hours) in the :guilabel:`Duration` field, appears on the right side." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:122 +#: ../../content/applications/hr/payroll/work_entries.rst:108 msgid "Time off conflicts" msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:124 +#: ../../content/applications/hr/payroll/work_entries.rst:110 msgid "The most common work entry conflicts are for time off requests. Odoo automatically generates work entries for specific time periods. When time off is requested after these work entries are generated, it results in duplicate work entries for that employee (one for time off and another for regular work)." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:129 +#: ../../content/applications/hr/payroll/work_entries.rst:115 msgid "If there is a conflict because a time off request is in the system for the same time that a regular work entry already exists, the time off request is entered in a :guilabel:`Time Off` field." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:132 +#: ../../content/applications/hr/payroll/work_entries.rst:118 msgid "Conflicts can be resolved either directly on the work entry or in the detailed time off request form." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:138 +#: ../../content/applications/hr/payroll/work_entries.rst:124 msgid "Resolve on work entry" msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:140 +#: ../../content/applications/hr/payroll/work_entries.rst:126 msgid "If no additional details are needed to determine if a time off request should be approved or refused, the time off conflict can be resolved directly from the work entry pop-up window." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:143 +#: ../../content/applications/hr/payroll/work_entries.rst:129 msgid "Click either the :guilabel:`Refuse Time Off` or :guilabel:`Approve Time Off` buttons to refuse or approve the time off request, then the two buttons disappear. Click the :guilabel:`Save & Close` button to close the pop-up window." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:147 +#: ../../content/applications/hr/payroll/work_entries.rst:133 msgid "The conflict disappears from the :guilabel:`Work Entry` dashboard, since the conflict is now resolved." msgstr "" @@ -19817,23 +20213,23 @@ msgstr "" msgid "The detailed conflict pop-up window that appears when the Edit button is clicked." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:154 +#: ../../content/applications/hr/payroll/work_entries.rst:140 msgid "If the time off is approved, the status of the work entry conflict changes to :guilabel:`Cancelled`. If the time off is refused, the status changes to :guilabel:`Draft`." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:160 +#: ../../content/applications/hr/payroll/work_entries.rst:146 msgid "Resolve on time off request" msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:162 +#: ../../content/applications/hr/payroll/work_entries.rst:148 msgid "If more details are needed to make a decision about the time off request, hover over the entry in the :guilabel:`Time Off` field, and click the :icon:`fa-external-link` :guilabel:`(Internal Link)` icon that appears at the end of the line. This causes an :guilabel:`Open: Time Off` pop-up window to load, with all the time off request details. Click either the :guilabel:`Approve` or :guilabel:`Refuse` buttons to approve or refuse the request." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:168 +#: ../../content/applications/hr/payroll/work_entries.rst:154 msgid "To resolve the time off conflict on the detailed time off request pop-up window, click the :guilabel:`Internal Link` button at the end of the :guilabel:`Time Off` entry line, and the time off request details appear in a new pop-up window. The request can be modified, if needed." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:172 +#: ../../content/applications/hr/payroll/work_entries.rst:158 msgid "Click the :guilabel:`Approve` button to approve the request, then click the :guilabel:`Save & Close` button to save the changes, and go back to the work entry conflict pop-up window." msgstr "" @@ -19841,43 +20237,43 @@ msgstr "" msgid "The detailed time off request information." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:178 +#: ../../content/applications/hr/payroll/work_entries.rst:164 msgid "Now, the :guilabel:`Approve Time Off` button is hidden, only the :guilabel:`Refuse Time Off` button is visible." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:181 +#: ../../content/applications/hr/payroll/work_entries.rst:167 msgid "If the approval was a mistake, the request can be refused here, by clicking the :guilabel:`Refuse Time Off` button." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:184 +#: ../../content/applications/hr/payroll/work_entries.rst:170 msgid "Since the time off was approved in the time off window, click the :guilabel:`X` in the top-right corner to close the window. The conflict disappears from the :guilabel:`Work Entry` dashboard, since it has been resolved." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:191 +#: ../../content/applications/hr/payroll/work_entries.rst:177 msgid "Regenerate work entries" msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:193 +#: ../../content/applications/hr/payroll/work_entries.rst:179 msgid "After conflicts are resolved, the affected work entries must be regenerated. This recreates the specified work entries, and overwrites the previously conflicting work entries." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:196 -msgid "While :ref:`conflicts ` *can* be resolved individually, if the conflicts are caused from another application, such as **Planning** or **Attendances**, it is best practice to correct the record in the application causing the conflict. The reason this method is recommended is because, if the issue in the related application is **not** resolved, when work entries are regenerated, the conflicts reappear." +#: ../../content/applications/hr/payroll/work_entries.rst:182 +msgid "While :ref:`conflicts ` *can* be resolved individually, if the conflicts are caused by another application, such as **Planning** or **Attendances**, it is best practice to correct the record in the application causing the conflict. The reason this method is recommended is because, if the issue in the related application is **not** resolved, when work entries are regenerated, the conflicts reappear." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:202 +#: ../../content/applications/hr/payroll/work_entries.rst:188 msgid "First, ensure the issues are resolved in the specific applications that caused the work entry conflicts. Once the conflicts have been resolved in the corresponding apps, open the work entry dashboard by navigating to :menuselection:`Payroll app --> Work Entries --> Work Entries`." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:206 +#: ../../content/applications/hr/payroll/work_entries.rst:192 msgid "Click the :guilabel:`Regenerate Work Entries` button at the top of the :guilabel:`Work Entries` dashboard, and a :guilabel:`Work Entry Regeneration` pop-up window appears." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:209 +#: ../../content/applications/hr/payroll/work_entries.rst:195 msgid "Select the :guilabel:`Employees` to regenerate work entries for, using the drop-down menu. Adjust the :guilabel:`From` and :guilabel:`To` fields, so the correct date range is displayed." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:212 +#: ../../content/applications/hr/payroll/work_entries.rst:198 msgid "Click the :guilabel:`Regenerate Work Entries` button, and the work entries are recreated. Once finished, the pop-up window closes." msgstr "" @@ -19885,23 +20281,151 @@ msgstr "" msgid "Regenerate a work entry for a particular employee." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:219 +#: ../../content/applications/hr/payroll/work_entries.rst:205 msgid "An employee has incorrect work entries generated from the **Planning** app because they were incorrectly assigned to two work stations simultaneously. This should be fixed in the **Planning** app, instead of the **Payroll** app." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:223 +#: ../../content/applications/hr/payroll/work_entries.rst:209 msgid "To correct this issue, modify the employee's schedule in the **Planning** app, so they are correctly assigned to only one work station. Then, in the **Payroll** app, regenerate work entries for that employee, for that specific time period." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:227 +#: ../../content/applications/hr/payroll/work_entries.rst:213 msgid "The **Payroll** app then pulls the new, corrected data form the **Planning** app, and recreates the correct work entries for that employee. All conflicts for that employee are now resolved." msgstr "" -#: ../../content/applications/hr/payroll/work_entries.rst:231 -msgid ":doc:`payslips`" +#: ../../content/applications/hr/payroll/work_entries.rst:221 +msgid "When :ref:`creating a work entry ` in the **Payroll** application, or when a new time off type is created in the **Time Off** application, a work entry *type* needs to be selected." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:225 +msgid "The **Payroll** app comes with nine preconfigured work entry types, and depending on the installed :doc:`payroll localization `, additional country-specific work entries may be configured. If there is a need for additional work entry types, they can be :ref:`created `." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:230 +msgid "To view the current work entry types available, navigate to :menuselection:`Payroll app --> Configuration --> Work Entries --> Work Entry Types`." msgstr "" #: ../../content/applications/hr/payroll/work_entries.rst:233 +msgid "Each work entry type has a code to aid in the creation of payslips, and to ensure all taxes and fees are correctly entered." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:237 +msgid "Depending on the installed localization, other sections and fields may appear on the form." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:-1 +msgid "List of all work entry types currently available for use, with the payroll code and color." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:245 +msgid "New work entry type" +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:247 +msgid "To create a new work entry type, go to :menuselection:`Payroll app --> Configuration --> Work Entries --> Work Entry Types` and click :guilabel:`New`. Then, enter the information for the following sections on the form." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:254 +msgid ":guilabel:`Work Entry Type Name`: Enter a name for the work entry type. It should be short and descriptive, such as `Sick Time` or `Training`." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:256 +msgid ":guilabel:`Payroll Code`: Enter a code for the work entry type. This code appears with the work entry type on timesheets and payslips. Since the code is used in conjunction with the **Accounting** application, it is advised to check with the accounting department for a code to use." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:260 +msgid ":guilabel:`External Code`: Enter a code to use for exporting data to a third-party payroll service. Check with the third-party being used to determine the :guilabel:`External Code` to enter for the new work entry type." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:263 +msgid ":guilabel:`Color`: Select a color for the particular work entry type. This color appears on the work entry dashboard to aid in identifying work entry types." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:267 +msgid "The **only** required fields for a work entry type is the :guilabel:`Work Entry Type Name` and the :guilabel:`Payroll Code`." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:271 +msgid "Display in payslip section" +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:273 +msgid ":guilabel:`Rounding`: Select how the time entered for the work entry should be rounded. The rounding method selected determines how the worked time on timesheet entries are calculated. The options are:" +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:277 +msgid ":guilabel:`No Rounding`: Work entries are not modified." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:278 +msgid ":guilabel:`Half Day`: Work entries are rounded to the closest half day amount." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:279 +msgid ":guilabel:`Day`: Work entries are rounded to the closest full day amount." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:281 +msgid ":guilabel:`Rounding Type`: If either :guilabel:`Half Day` or :guilabel:`Day` is selected in the :guilabel:`Rounding` field, this field appears. Select either :guilabel:`Up` or :guilabel:`Down` to determine how the rounding is handled." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:286 +msgid "The working time is set to an 8-hour work day (a 40-hour work week). An employee enters a time of 5.5 hours on a work entry." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:289 +msgid "If the :guilabel:`Rounding` is set to :guilabel:`No Rounding`, the work entry remains at 5.5 hours." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:292 +msgid "If the :guilabel:`Rounding` is set to :guilabel:`Half Day`, and the :guilabel:`Rounding Type` is set to :guilabel:`Down`, the work entry is changed to 4 hours. If the :guilabel:`Rounding Type` is set to :guilabel:`Up`, the work entry is changed to 8 hours." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:296 +msgid "If the :guilabel:`Rounding` is set to :guilabel:`Day`, and the :guilabel:`Rounding Type` is set to :guilabel:`Down`, the work entry is changed to zero hours. If the :guilabel:`Rounding Type` is set to :guilabel:`Up`, the work entry is changed to 8 hours." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:301 +msgid "Unpaid section" +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:303 +msgid ":guilabel:`Unpaid in Structures Types`: If the work entry type is for work that is *not paid*, specify which pay structure the unpaid work entry type applies to, using the drop-down menu. Some situations where work is logged on a payslip, but no compensation is given, such as unpaid internships, unpaid training, or volunteer work." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:309 +msgid "Time off options section" +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:311 +msgid ":guilabel:`Time Off`: Tick this box if the work entry type can be selected for a time off request or time off entry, in the **Time Off** application." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:314 +msgid "If :guilabel:`Time Off` is active, a :guilabel:`Time Off Type` field appears. This field has a drop-down menu to select the specific types of time off, such as `Paid Time Off`, `Sick Time Off`, or `Extra Hours`. Select the :guilabel:`Time Off Type` associated with the work entry type." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:318 +msgid ":guilabel:`Keep Time Off Right`: Tick this checkbox if the work entry type associated with the selected time off type allows for rolling over unused time off to the following year." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:322 +msgid "Reporting section" +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:324 +msgid ":guilabel:`Unforeseen Absence`: Tick this box if the work entry type should be visible on the unforeseen absences report." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:-1 +msgid "New work entry type form with all fields to be filled in." +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:331 +msgid ":doc:`payslips`" +msgstr "" + +#: ../../content/applications/hr/payroll/work_entries.rst:333 msgid ":doc:`batches`" msgstr "" @@ -19942,7 +20466,7 @@ msgid "A pivot table comparing the work entries of the current month and the pre msgstr "" #: ../../content/applications/hr/payroll/work_entry_analysis.rst:37 -msgid "If no work entries for a specific :ref:`work entry type ` are logged for the time period, it does **not** appear on the report. That does **not** mean the work entry type does not exist, or is not configured." +msgid "If no work entries for a specific :ref:`work entry type ` are logged for the time period, it does **not** appear on the report. That does **not** mean the work entry type does not exist, or is not configured." msgstr "" #: ../../content/applications/hr/payroll/work_entry_analysis.rst:41 @@ -19985,6 +20509,98 @@ msgstr "" msgid "A pivot table comparing the overtime from September 2024 with August 2024." msgstr "" +#: ../../content/applications/hr/payroll/working_schedules.rst:3 +msgid "Working schedules" +msgstr "" + +#: ../../content/applications/hr/payroll/working_schedules.rst:5 +msgid "In Odoo, *working schedules* determine the hours employees are expected to work, according to their :doc:`contract `, and informs the **Payroll** app how to compute work entries, ultimately affecting salaries and payslips. It is necessary to ensure all working schedules for employees are configured in the database." +msgstr "" + +#: ../../content/applications/hr/payroll/working_schedules.rst:11 +msgid "In Odoo's **Payroll** app, *working schedules* are referred to as *working hours* in :ref:`salary structures `." +msgstr "" + +#: ../../content/applications/hr/payroll/working_schedules.rst:14 +msgid "To view the currently configured working schedules, navigate to :menuselection:`Payroll app --> Configuration --> Working Schedules`, and the :guilabel:`Working Schedules` dashboard loads." +msgstr "" + +#: ../../content/applications/hr/payroll/working_schedules.rst:17 +msgid "Working schedules are company-specific. In a multi-company database, each company **must** identify each type of working schedule they use. If the database is created for only one company, the :guilabel:`Company` column is not available." +msgstr "" + +#: ../../content/applications/hr/payroll/working_schedules.rst:22 +msgid "An Odoo database containing multiple companies that use a standard 40-hour work week needs to have a separate working schedule entry for each company that uses the 40-hour standard work week." +msgstr "" + +#: ../../content/applications/hr/payroll/working_schedules.rst:25 +msgid "A database with five companies that all use a standard 40-hour work week needs to have five separate 40-hour working schedules configured." +msgstr "" + +#: ../../content/applications/hr/payroll/working_schedules.rst:-1 +msgid "All working schedules available to use currently set up in the database for the company." +msgstr "" + +#: ../../content/applications/hr/payroll/working_schedules.rst:34 +msgid "New working schedule" +msgstr "" + +#: ../../content/applications/hr/payroll/working_schedules.rst:36 +msgid "To create a new working schedule, navigate to :menuselection:`Payroll app --> Configuration --> Working Schedules`, and click :guilabel:`New`. The :guilabel:`Working Schedules` form has two sections, a general information section and a :guilabel:`Working Hours` tab listing out all the individual working hours by day and time." +msgstr "" + +#: ../../content/applications/hr/payroll/working_schedules.rst:41 +msgid "Fill out the following information on the top-half of the form:" +msgstr "" + +#: ../../content/applications/hr/payroll/working_schedules.rst:43 +msgid ":guilabel:`Name`: Type in the name for the new default working schedule. This should be descriptive and clear to understand, such as `Standard 20 Hours/Week`." +msgstr "" + +#: ../../content/applications/hr/payroll/working_schedules.rst:45 +msgid ":guilabel:`Flexible Hours`: Tick this checkbox if employees can work different hours from the working schedule." +msgstr "" + +#: ../../content/applications/hr/payroll/working_schedules.rst:47 +msgid ":guilabel:`Company Full Time`: Enter the number of hours per week an employee would need to work to be considered a full-time employee. Typically, this is approximately 40 hours, and this number affects what types of benefits an employee can receive, based on their employment status (full-time vs part-time)." +msgstr "" + +#: ../../content/applications/hr/payroll/working_schedules.rst:51 +msgid ":guilabel:`Average Hour Per Day`: The average hours per day field is auto-populated, based on the working hours configured in the :guilabel:`Working Hours` tab. This entry affects resource planning, since the average daily hours affect what resources can be used, and in what quantity, per workday." +msgstr "" + +#: ../../content/applications/hr/payroll/working_schedules.rst:59 +msgid ":guilabel:`Company`: Select the company that can use these new default working hours from the drop-down menu. A blank field indicates it is available for all companies." +msgstr "" + +#: ../../content/applications/hr/payroll/working_schedules.rst:64 +msgid "Next, configure the individual hours in the :guilabel:`Working Hours` tab. This tab lists the specific working hours for each day." +msgstr "" + +#: ../../content/applications/hr/payroll/working_schedules.rst:67 +msgid "The :guilabel:`Working Hours` are auto-populated for a default 40-hour work week, with each day divided into three timed sections." +msgstr "" + +#: ../../content/applications/hr/payroll/working_schedules.rst:70 +msgid "Every day has morning (8:00-12:00), lunch (12:00-13:00), and evening (13:00-17:00) hours configured." +msgstr "" + +#: ../../content/applications/hr/payroll/working_schedules.rst:73 +msgid "The :guilabel:`Work From` and :guilabel:`Work To` times **must** be in a 24-hour format. For example, `2:00 PM` is entered as `14:00`." +msgstr "" + +#: ../../content/applications/hr/payroll/working_schedules.rst:76 +msgid "Modify the :guilabel:`Day of Week`, :guilabel:`Day Period`, and :guilabel:`Work Entry Type` selections by clicking on the drop-down menus in each column and making the desired selection. The :guilabel:`Work From` and :guilabel:`Work To` columns are modified by typing in the time." +msgstr "" + +#: ../../content/applications/hr/payroll/working_schedules.rst:81 +msgid "Keep in mind, working hours are company-specific, and **cannot** be shared between companies. Each company needs to have its own working hours set." +msgstr "" + +#: ../../content/applications/hr/payroll/working_schedules.rst:-1 +msgid "New working schedule form." +msgstr "" + #: ../../content/applications/hr/recruitment.rst:5 msgid "Recruitment" msgstr "" @@ -20045,6 +20661,10 @@ msgstr "" msgid "Enabling the :guilabel:`Send Interview Survey` option will install the **Surveys** application once the settings are saved, if not already installed." msgstr "" +#: ../../content/applications/hr/recruitment.rst:69 +msgid "Salary package configurator" +msgstr "" + #: ../../content/applications/hr/recruitment.rst:71 msgid "When sending an offer to an applicant, an expiration date can be set on the offer. Enter the number of days an offer is valid for in the :guilabel:`days` field. After the set amount of days has passed, if the applicant has not accepted the offer, the offer is no longer available." msgstr "" @@ -20744,6 +21364,10 @@ msgstr "" msgid "Both the :guilabel:`Experienced Developer` and :guilabel:`Interior Designer` roles yielded one referral hire each, confirming that developers and designers generate the highest-success referrals." msgstr "" +#: ../../content/applications/hr/recruitment/new_job.rst:3 +msgid "Job positions" +msgstr "" + #: ../../content/applications/hr/recruitment/new_job.rst:5 msgid "In Odoo's **Recruitment** application, all job positions are shown on the default dashboard in the **Recruitment** app, which includes both active and inactive positions." msgstr "" @@ -23536,6 +24160,10 @@ msgstr "" msgid "An accrual plan form with all the entries filled out." msgstr "" +#: ../../content/applications/hr/time_off.rst:302 +msgid "Rules" +msgstr "" + #: ../../content/applications/hr/time_off.rst:304 msgid "Rules must be created in order for employees to accrue time off from the accrual plan." msgstr "" @@ -23722,11 +24350,11 @@ msgid "The :guilabel:`Company` field is hidden, by default. To view this field, msgstr "" #: ../../content/applications/hr/time_off.rst:453 -msgid ":guilabel:`Start Date`: Using the date and time picker, select the date and time the holiday starts, then click :icon:`fa-check` :guilabel:`Apply`. By default, this field is configured for the current date. The start time is set according to the start time for the company (according to the :ref:`working schedules `). If the user's computer is set to a different time zone, the start time is adjusted accordingly, compared to the company's time zone." +msgid ":guilabel:`Start Date`: Using the date and time picker, select the date and time the holiday starts, then click :icon:`fa-check` :guilabel:`Apply`. By default, this field is configured for the current date. The start time is set according to the start time for the company (according to the :doc:`working schedules `). If the user's computer is set to a different time zone, the start time is adjusted accordingly, compared to the company's time zone." msgstr "" #: ../../content/applications/hr/time_off.rst:458 -msgid ":guilabel:`End Date`: Using the date and time picker, select the date and time the holiday ends, then click :icon:`fa-check` :guilabel:`Apply`. By default, this field is configured for the current date, and the time is set to the end time for the company (according to the :ref:`working schedules `). If the user's computer is set to a different time zone, the start time is adjusted accordingly, compared to the company's time zone." +msgid ":guilabel:`End Date`: Using the date and time picker, select the date and time the holiday ends, then click :icon:`fa-check` :guilabel:`Apply`. By default, this field is configured for the current date, and the time is set to the end time for the company (according to the :doc:`working schedules `). If the user's computer is set to a different time zone, the start time is adjusted accordingly, compared to the company's time zone." msgstr "" #: ../../content/applications/hr/time_off.rst:465 @@ -23746,7 +24374,7 @@ msgid ":guilabel:`Working Hours`: If the holiday should only apply to employees msgstr "" #: ../../content/applications/hr/time_off.rst:478 -msgid ":guilabel:`Work Entry Type`: If using the **Payroll** app, this field defines how the :ref:`work entries ` for the holiday appear. Select the work entry type from the drop-down menu." +msgid ":guilabel:`Work Entry Type`: If using the **Payroll** app, this field defines how the :doc:`work entries ` for the holiday appear. Select the work entry type from the drop-down menu." msgstr "" #: ../../content/applications/hr/time_off.rst:-1 diff --git a/locale/sources/inventory_and_mrp.pot b/locale/sources/inventory_and_mrp.pot index ab5b760f95..1c2c5e66fb 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-10-20 14:56+0200\n" +"POT-Creation-Date: 2025-11-19 09:34+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -92,18 +92,17 @@ msgstr "" #: ../../content/applications/inventory_and_mrp/barcode/setup/hardware.rst:41 #: ../../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/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 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:44 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:18 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:20 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:16 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:21 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:20 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:34 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:14 -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:26 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:27 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:96 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/picking_methods/batch.rst:21 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/picking_methods/cluster.rst:48 @@ -125,6 +124,7 @@ msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/cycle_counts.rst:15 #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:8 #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses.rst:13 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:229 #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/resupply_warehouses.rst:22 #: ../../content/applications/inventory_and_mrp/manufacturing/advanced_configuration/work_order_dependencies.rst:13 #: ../../content/applications/inventory_and_mrp/manufacturing/reporting/allocation.rst:21 @@ -1026,7 +1026,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/product_management/inventory_valuation/valuation_by_lots.rst:81 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:78 #: ../../content/applications/inventory_and_mrp/purchase/products/pricelist.rst:144 msgid "Quantity" msgstr "" @@ -1162,8 +1162,8 @@ msgid "(91) ([!\"%-/0-9:-?A-Z_a-z]{0,90})" msgstr "" #: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_nomenclature.rst:225 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:126 -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:77 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:124 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:96 msgid "Package type" msgstr "" @@ -1215,7 +1215,7 @@ msgstr "" #: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:40 #: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:168 -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:78 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:97 #: ../../content/applications/inventory_and_mrp/purchase/manage_deals/rfq.rst:20 msgid "Product" msgstr "" @@ -2509,6 +2509,7 @@ msgid "Menu from a receipt with the 'Print Picking Operation' button." msgstr "" #: ../../content/applications/inventory_and_mrp/barcode/setup/operation_types.rst:135 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:352 msgid "In Inventory" msgstr "" @@ -2895,6 +2896,7 @@ msgid "Multiple storage locations selected with 'Print' button at the top of the msgstr "" #: ../../content/applications/inventory_and_mrp/inventory.rst:8 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:174 #: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:187 msgid "Inventory" msgstr "" @@ -2907,2642 +2909,2521 @@ msgstr "" msgid "`Odoo Tutorials: Inventory `_" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management.rst:5 -msgid "Product management" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation.rst:5 +msgid "Inventory valuation" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:9 -#: ../../content/applications/inventory_and_mrp/manufacturing/subcontracting/subcontracting_basic.rst:35 -#: ../../content/applications/inventory_and_mrp/manufacturing/subcontracting/subcontracting_dropship.rst:51 -#: ../../content/applications/inventory_and_mrp/manufacturing/subcontracting/subcontracting_resupply.rst:53 -msgid "Configure product" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:7 +msgid "Valuation cheat sheet" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:11 -msgid "A group of products in Odoo can be further defined using:" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:12 +msgid "This documentation is for Odoo 19 or later. :ref:`Discover why we changed. `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:13 -msgid ":doc:`Units of measure (UoM) `: a standard quantity for specifying product amounts (e.g., meters, yards, kilograms). Enables automatic conversion between measurement systems in Odoo, such as centimeters to feet." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:17 +msgid "Costing Methods" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:17 -msgid "*Ex: Purchasing fabric measured in meters but receiving it in yards from a vendor.*" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:19 +msgid "Odoo supports 3 costing methods configured in accounting's settings and, optionally, the product's category." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:19 -msgid ":doc:`configure/package`: A physical container used to group products together, regardless of whether they are the same or different." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:61 +msgid "Standard Cost: fixed unit cost, updated manually" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:22 -msgid "*Ex: A box containing assorted items for delivery, or a storage box of two hundred buttons on a shelf.*" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:31 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:70 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:109 +msgid "Operation" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:25 -msgid ":doc:`configure/packaging`: groups the *same* products together to receive or sell them in specified quantities." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:32 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:71 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:110 +msgid "Unit Cost" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:28 -msgid "*Ex: Cans of soda sold in packs of six, twelve, or twenty-four.*" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:33 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:72 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:111 +msgid "Qty On Hand" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:31 -msgid "Comparison" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:34 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:73 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:112 +msgid "Delta Value" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:33 -msgid "This table provides a detailed comparison of units of measure, packages, and packaging to help businesses evaluate which best suits their requirements." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:35 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:74 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:113 +msgid "Inventory Value" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:40 -msgid "Feature" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:37 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:42 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:47 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:52 +#: ../../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 +msgid "$10" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:41 -msgid "Unit of measure" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:38 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:77 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:116 +msgid "0" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:42 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:3 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:303 -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies.rst:99 -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies.rst:159 -msgid "Packages" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:40 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:76 +#: ../../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 +msgid "$0" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:44 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:185 -msgid "Purpose" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:41 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:80 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:119 +msgid "Receive 8 @$10" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:45 -msgid "Standardized measurement for product units (e.g., cm, lb, L)" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:43 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:82 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:121 +msgid "8" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:46 -msgid "Tracks the specific physical container and its contents" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:44 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:83 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:122 +msgid "+8×$10" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:47 -msgid "Groups a fixed number of items together for easier management (e.g., packs of 6, 12 or 24)" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:45 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:84 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:123 +msgid "$80" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:48 -msgid "Product uniformity" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:46 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:85 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:124 +msgid "Receive 4 @$16" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:49 -msgid "Defined per product; saved as one |UoM| in the database" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:48 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:87 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:126 +msgid "12" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:50 -msgid "Allows mixed products" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:49 +msgid "+4×$10" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:51 -msgid "Same products only" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:50 +msgid "$120" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:52 -msgid "Flexible" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:51 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:90 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:129 +msgid "Deliver 10" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:53 -msgid "Converts between vendor/customer |UoMs| and database |UoM|" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:53 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:92 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:131 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/fefo.rst:95 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/fifo.rst:75 +#: ../../content/applications/inventory_and_mrp/purchase/products/pricelist.rst:235 +msgid "2" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:54 -msgid "Items can be added or removed from the container" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:0 +msgid "-10×$10" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:55 -msgid "Quantities are fixed (e.g., always packs of 6, 12 or 24)" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:56 +msgid "$20" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:56 -msgid "Complexity" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:57 +msgid "Receive 2 @$9" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:57 -msgid "Simplest for unit conversions" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:59 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:98 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:137 +#: ../../content/applications/inventory_and_mrp/purchase/products/pricelist.rst:224 +#: ../../content/applications/inventory_and_mrp/purchase/products/pricelist.rst:242 +msgid "4" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:58 -msgid "More complex due to container-level inventory tracking" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:60 +msgid "+2×$10" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:59 -msgid "Simpler; suitable for uniform product groupings" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:61 +msgid "$40" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:60 -msgid "Inventory tracking" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:100 +msgid "Average Cost: weighted average of all units" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:61 -msgid "Tracks product quantities within the warehouse in the specific |UoM| defined in the product form" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:86 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:91 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:125 +msgid "$12" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:63 -msgid "Tracks package location and contents within the warehouse" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:88 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:127 +msgid "+4×$16" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:64 -msgid "Tracks grouped quantities but not individual items' locations" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:89 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:128 +msgid "$144" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:65 -msgid "Smooth barcode operations" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:0 +msgid "-10×$12" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:66 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:74 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:78 -msgid "Not available" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:95 +msgid "$24" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:67 -msgid "Requires scanning both the package and individual items for reception. (even if there are 30 items in a package). Can enable the :ref:`Move Entire Packages ` feature to update the package's contained items' locations, when moving the package" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:96 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:135 +msgid "Receive 2 @$6" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:71 -msgid "Scanning a packaging barcode automatically records all included units. (e.g. 1 pack = 12 units)" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:97 +msgid "$9" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:73 -msgid "Product lookup" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:99 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:138 +msgid "+2×$6" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:75 -msgid "Scanning a product's barcode identifies its typical storage location in the Odoo database" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:100 +msgid "$36" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:76 -msgid "Barcode identifies grouped quantity, not storage location" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:140 +msgid "FIFO: first in, first out" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:77 -msgid "Unique barcodes" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:130 +msgid "$16" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:79 -msgid "Unique barcodes for individual packages (e.g. Pallet #12)" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:0 +msgid "-8×$10" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:80 -msgid "Barcodes set at the packaging type level (e.g. for a pack of 6)" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:0 +msgid "-2×$16" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:81 -msgid "Reusability" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:134 +msgid "$32" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:82 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:87 -msgid "Not applicable" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:136 +msgid "$11" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:83 -msgid "Can be disposable or reusable, configured via the :ref:`Package Use ` field" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:139 +msgid "$44" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:85 -msgid "Disposable only" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:144 +msgid "Removal strategies also support :abbr:`LIFO (last in, first out)` and :abbr:`FEFO (first expiry, first out)`, but they only impact which product is first picked, not the valuation method. For example, you can pick using LIFO, but using average cost for valuation, as LIFO is not allowed by :abbr:`IFRS (International Financial Reporting Standards)`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:86 -msgid "Container weight" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:151 +msgid "Inventory vs Accounting" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:88 -msgid "Weight of the container itself is included in the *Shipping Weight* field of a package (:menuselection:`Inventory app --> Products --> Packages`)" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:155 +msgid "The :doc:`Inventory app ` keeps track of the inventory value in real time as you **receive and deliver goods**. The reporting menu lets you analyze inventory quantities and values by company, location, product, and more." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:90 -msgid "Weight of the container is defined in the *Package Type* settings" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:161 +msgid "The :doc:`Accounting app ` updates accounts when you receive **invoices or bills**. Even though receipts and invoices differ, it’s not practical for accountants to post journal entries for every inventory movement. So, they post a closing entry to account for the difference between what has been invoiced and received/delivered. This closing process happens usually once a year for SMEs, or once a month for larger companies." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:91 -#: ../../content/applications/inventory_and_mrp/manufacturing/basic_setup/configure_manufacturing_product.rst:30 -msgid "Lot/serial number tracking" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:174 +msgid "Accounting" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:92 -msgid "Requires manual adjustments to track |UoMs| via lots (See :ref:`use case ` for details)" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:176 +msgid "Purchase Order" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:94 -msgid "Applies only to contained products" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:176 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:176 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:178 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:180 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:182 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:182 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:184 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:186 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:188 +msgid ":meh:`/`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:95 -msgid "Applies to both contained products and the container" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:178 +msgid "Receipt" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:96 -msgid "Custom routes" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:178 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:180 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:184 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:186 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:188 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:447 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:449 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:455 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:457 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:459 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:461 +msgid ":good:`✓`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:97 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:98 -msgid "Cannot be set" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:180 +msgid "Vendor Bill" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:99 -msgid "Routes can define specific warehouse paths for a particular packaging type" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:182 +msgid "Sales Order" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:102 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/forecast.rst:125 -msgid "Use cases" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:184 +msgid "Customer Invoice" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:104 -msgid "After comparing the various features, consider how these businesses, with various inventory management and logistics workflows, came to their decision." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:186 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations.rst:111 +msgid "Delivery" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:108 -msgid "Pallets of items using packaging" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:188 +msgid "Closing Entry" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:110 -msgid "A warehouse receives shipments of soap organized on physical pallets, each containing 96 bars. These pallets are used for internal transfers and are also sold as standalone units. For logistical purposes, the pallet's weight must be included in the total shipping weight for certain deliveries. Additionally, the pallet requires a barcode to facilitate tracking, and the number of individual bars of soap must be included in the stock count when the pallet is received." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:193 +msgid "Accounting Methods" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:116 -msgid "After evaluating various options, *product packaging* was the most suitable solution. Packaging enables assigning a barcode to a pallet, identifying it as a \"pallet type\" containing 96 soap bars. This barcode streamlines operations by automatically registering the grouped quantity. Key distinctions include:" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:195 +msgid "There are two accounting practices on how to maintain your accounts, defined in :menuselection:`Accounting app --> Configuration --> Settings`, under the :guilabel:`Inventory Valuation` section:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:121 -msgid "**Warehouse tracking limitations**: Odoo tracks only the total quantity, not the number of packagings. For instance, if a pallet with 12 and 24 quantities is received, Odoo records 36 quantities, not the pallet details." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:199 +msgid "**Periodic:** Post vendor bills as expenses by nature, and update stock valuation in the closing entry by reducing expenses (stock variation). This is the best practice in Europe." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:124 -msgid "**Packaging barcodes are type-specific, not unique**: Barcodes represent packaging types (e.g., \"pallet of 96 soap bars\") but do not uniquely identify individual pallets, such as Pallet #1 or Pallet #2." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:202 +msgid "**Perpetual:** Post vendor bills as assets (stock valuation), report expenses when goods are sold (cost of goods sold). This is the best practice in countries that follow Anglo-Saxon accounting, like the USA and India." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:129 -msgid "Capture product information using barcode" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:219 +msgid ":purple:`Stock Account` on the product's category" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:131 -msgid "An Odoo user expects the **Barcode** app to display the typical storage location of a product by scanning a barcode for a container." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:220 +msgid ":yellow:`Stock Variation` on the stock account" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:134 -msgid "*Packages* was the most suitable. When the :ref:`appropriate setting is enabled `, scanning a package barcode displays its contents in the **Barcode** app." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:221 +msgid ":blue:`Expense/Cost of Goods Sold` on the product/category" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:138 -msgid "Packages represent physical containers, enabling detailed tracking of the items they hold. Scanning a package provides visibility into its contents and facilitates operations, like inventory moves." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:222 +msgid ":green:`Inventory Adjustment` on the Inventory Loss location (optional, recommended for Anglo-Saxon accounting)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:145 -msgid "Track different units of measure in storage" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:224 +msgid ":darkblue:`Expense` on the stock account (for perpetual Continental accounting only)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:147 -msgid "A fruit juice distributor tracks multiple |UoMs| for their operations:" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:235 +msgid "EU Periodic" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:149 -msgid "Fruits are purchased in tons." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:236 +msgid "EU Perpetual" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:150 -msgid "Juice is produced and stored in kilograms." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:237 +msgid "US Periodic" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:151 -msgid "Small samples are stored in grams for recipe testing." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:238 +msgid "US Perpetual" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:153 -msgid "*Unit of Measure* was most suitable. Odoo automatically converts tons to kilograms during receipts. However, since Odoo tracks only one |UoM| per product in the database, the company uses lot numbers to differentiate |UoMs|:" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:239 +msgid "ADJUSTMENT" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:157 -msgid "LOT1: Grams (g)" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:241 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:243 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:256 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:258 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:276 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:278 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:295 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:297 +msgid ":purple:`Stock`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:158 -msgid "LOT2: Kilograms (kg)" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:246 +msgid ":green:`LOSS`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:160 -msgid "Manual inventory adjustments are required to convert between lots, such as subtracting 1 kg from LOT2 to add 1,000 g to LOT1. While functional, this workaround can be time-consuming and prone to errors." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:248 +msgid ":green:`Shrinkage`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:7 -msgid "A *package* is a physical container holding one or more products. Packages can also be used to store items in bulk." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:254 +msgid "BILL" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:10 -msgid "Packages are commonly used for the following purposes:" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:255 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:271 +msgid ":blue:`Expense`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:12 -msgid ":ref:`Grouping products to move them in bulk `." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:257 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:273 +msgid ":blue:`COGS`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:13 -msgid ":ref:`Shipping to customers `: configure package types to align with shipping carriers' size and weight requirements, streamlining the packing process, and ensuring compliance with carrier shipping specifications." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:260 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:261 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:262 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:263 +msgid ":washed:`Payable`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:16 -msgid "Storing items in bulk." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:269 +msgid "INVOICE" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:18 -msgid "*Package use* is a field on the package form in Odoo that is only visible by enabling the *Batch Transfers* and *Packages* features (:menuselection:`Inventory app --> Configuration --> Settings`)." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:280 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:281 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:282 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:283 +msgid ":washed:`Income`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:21 -msgid "By default, the *Package Use* field on a packages form is set to *Disposable Box*. Change this field to *Reusable Box* **only** when configuring packages for :ref:`cluster pickings `." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:285 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:286 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:287 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:288 +msgid ":washed:`Receivable`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:25 -msgid "*Package type* is an optional feature used for :doc:`calculating shipping cost <../../shipping_receiving/setup_configuration>`, based on real shipping weight. Create package types to include the weight of the package itself (e.g. boxes, pallets, other shipping containers) in shipping cost calculations." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:294 +msgid "Closing" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:31 -msgid "While packages are commonly used in the :doc:`three-step delivery route <../../shipping_receiving/daily_operations/delivery_three_steps>`, they can be used in any workflow involving storable products." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:296 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:298 +msgid ":washed-purple:`Stock`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:40 -msgid "To use packages, first go to :menuselection:`Inventory app --> Configuration --> Settings`. Under the :guilabel:`Operations` heading, activate the :guilabel:`Packages` feature. Then, click :guilabel:`Save`." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:299 +msgid "[1]" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:-1 -msgid "Activate the *Packages* setting in Inventory > Configuration > Settings." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:300 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:302 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:303 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:311 +msgid ":yellow:`Variation`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:50 -msgid "When moving packages internally, the *Move Entire Packages* feature can be enabled on an operation type to update a package's contained item's location upon updating the package's location." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:301 +msgid ":washed-darkblue:`Expense`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:53 -msgid "To do that, go to :menuselection:`Inventory app --> Configuration --> Operations Types` and select the desired operation this feature will apply to (may have to set it for multiple)." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:304 +msgid "[2]" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:56 -msgid "On the operation type page, in the :guilabel:`Packages` section, tick the :guilabel:`Move Entire Packages` checkbox." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:305 +msgid ":washed-green:`LOSS`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:62 -msgid "Pack items" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:307 +msgid ":washed-green:`Shrinkage`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:64 -msgid "Products can be added to packages in any transfer by:" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:309 +msgid "[3]" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:66 -msgid "Clicking each :ref:`Detailed Operations ` icon on the product line." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:316 +msgid ":darkblue:`Expense`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:68 -msgid "Using the :ref:`Put in Pack ` button to place everything in the transfer into a package." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:320 +msgid "Inventory valuation - Accounting valuation" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:74 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:280 -msgid "Detailed operations" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:321 +msgid "Inventory valuation lost, only if an account is set on the loss location" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:76 -msgid "On any warehouse transfer (e.g. receipt, delivery order), add a product to a package by clicking the :guilabel:`⦙≣ (bulleted list)` icon in the :guilabel:`Operations` tab." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:323 +msgid "Accounting valuation end of period - Valuation beginning of period" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:-1 -msgid "Show \"Detailed Operations\" icon in the product line." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:330 +msgid "Accounting Entries" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:83 -msgid "Doing so opens the :guilabel:`Detailed Operations` pop-up window for the :guilabel:`Product`." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:340 +msgid "Journal Entries Configuration" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:85 -msgid "To put the :guilabel:`Product` in a package, click :guilabel:`Add a line`, and assign the product to a :guilabel:`Destination Package`. Select an existing package, or create a new one by typing the name of the new package, then select :guilabel:`Create...`." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:349 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:352 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting.rst:5 +#: ../../content/applications/inventory_and_mrp/manufacturing/reporting.rst:3 +msgid "Reporting" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:93 -msgid "Assign a package to \"Destination Package\" field." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:354 +msgid "Open :menuselection:`Inventory --> Reporting --> Stock` to view your current inventory level and valuation for each product, or to review historical data as of a previous date." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:93 -msgid "Twelve units of `Acoustic Bloc Screen` are placed in `PACK0000001`." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:363 +msgid "Unit cost" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:95 -msgid "Then, specify the quantity of items to go into the package in the :guilabel:`Done` column. Repeat the above steps to place the :guilabel:`Product` in different packages. Once finished, click :guilabel:`Confirm` to close the window." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:365 +msgid "To check a product's existing unit price updates and their origins, click on the product's :guilabel:`Unit Cost`. In :abbr:`AVCO (average cost)` this allows you to understand how the currently used value was calculated." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:100 -msgid ":doc:`Ship one order in multiple packages <../../shipping_receiving/setup_configuration/multipack>`" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:375 +msgid "Total value" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:106 -msgid "Put in pack" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:377 +msgid "To see all incoming quantities for which you still have a remaining quantity and the value used for their valuation, click on a product's :guilabel:`Total Value`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:108 -msgid "Alternatively, click the :guilabel:`Put in Pack` button on **any** warehouse transfer to create a new package, and place all the items in the transfer in that newly-created package." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:380 +msgid "In AVCO or standard cost, the used value is always the current average unit cost." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:112 -msgid "The :guilabel:`Put in Pack` button appears on receipts, delivery orders, and other transfer forms with the *Packages* feature enabled in :menuselection:`Inventory app --> Configuration --> Settings`." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:381 +msgid "In FIFO, remaining units from each previous incoming move retain their own individual valuation." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:120 -msgid "Image of the \"Put in Pack\" button being clicked." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:383 +msgid "In FIFO or AVCO, remaining quantities from a previous incoming move can have their value adjusted if necessary: Select the incoming moves to be adjusted, click :icon:`fa-cog` :guilabel:`Actions`, and then click :guilabel:`Adjust Valuation`. Enter the new :guilabel:`Value` and, optionally, a :guilabel:`Description`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:120 -msgid "In batch transfer `BATCH/00003`, the :guilabel:`Put in Pack` button was clicked to create a new package, `PACK0000002`, and assign all items to it in the :guilabel:`Destination Package` field." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:394 +msgid "In Accounting" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:128 -msgid "Create package types by navigating to :menuselection:`Inventory app --> Configuration --> Package Types`, in order to set custom dimensions and weight limits. This feature is mainly used to calculate package weights for shipping costs." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:396 +msgid "To view the difference between the accounting stock value and the current inventory value recorded thanks to the incoming moves with a remaining quantity, go to :menuselection:`Accounting --> Review --> Inventory Valuation`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:133 -msgid ":doc:`Shipping carriers <../../shipping_receiving/setup_configuration/third_party_shipper>`" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:400 +msgid "To generate a new accounting entry to review and post, click :guilabel:`Generate Entry`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:134 -msgid ":doc:`../../shipping_receiving/setup_configuration`" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:406 +msgid "To view a list of sales and purchase orders for which accrual entries should be encoded, go to :menuselection:`Accounting --> Review` and select the relevant menu item (:guilabel:`Bill To Receive`, :guilabel:`Invoices To Be Issued`, :guilabel:`Billed Not Received` and :guilabel:`Invoiced Not Delivered`). Select the desired lines and click :guilabel:`Create Accrual Entries`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:136 -msgid "On the :guilabel:`Package Types` list, clicking :guilabel:`New` opens a blank package type form. The fields of the form are as follows:" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:412 +msgid "With Anglo-Saxon perpetual accounting, this will also help to distribute recorded inventory variations to accounts such as Bills to Receive/:abbr:`GRNI (goods received not invoiced)` or :abbr:`COGS (cost of goods sold)` as shown in the :ref:`Accounting Entries ` and :ref:`Journal Entries Configuration ` sections." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:139 -msgid ":guilabel:`Package Type` (required): define the package type's name." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:428 +msgid "Changes in Odoo 19" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:140 -msgid ":guilabel:`Size`: define the dimensions of the package in millimeters (mm). The fields, from left to right, define the :guilabel:`Length`, :guilabel:`Width`, and :guilabel:`Height`." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:430 +msgid "Before Odoo 19, the Perpetual accounting method was implemented by posting real-time accounting entries at each stock movement. That created a lot of journal items in accounting, which was an issue for performance, general ledger clarity and auditability." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:142 -msgid ":guilabel:`Weight`: weight of an empty package (e.g. an empty box, pallet)." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:434 +msgid "Since Odoo 19, the Perpetual method impacts the stock valuation account at the invoice level. The closing entry is then used to manage bills to receive, invoices to issue, deferred revenues, prepaid expenses, and other gaps between inventory values and accounting ones." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:145 -msgid "Odoo calculates the package's weight by adding the weight of the empty package plus the weight of the item(s), which can be found in the :guilabel:`Weight` field, in the :guilabel:`Inventory` tab, of each product form." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:441 +msgid "Odoo 18" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:149 -msgid ":guilabel:`Max Weight`: maximum shipping weight allowed in the package." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:441 +msgid "Odoo 19" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:150 -msgid ":guilabel:`Barcode`: define a barcode to identify the package type from a scan." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:443 +msgid "Periodic Continental" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:151 -msgid ":guilabel:`Company`: specify a company to make the package type available **only** at the selected company. Leave the field blank if it is available at all companies." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:443 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:447 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:449 +msgid ":meh:`Manual closing`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:153 -msgid ":guilabel:`Carrier`: specify the intended shipping carrier for this package type." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:443 +msgid ":good:`Automated closing`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:154 -msgid ":guilabel:`Carrier Code`: define a code that is linked to the package type." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:445 +msgid "Periodic Anglo-Saxon" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:-1 -msgid "Package type for FedEx's 25 kilogram box." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:445 +msgid ":bad:`Not supported`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:163 -msgid "Cluster packages" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:445 +msgid ":good:`Fully supported`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:165 -msgid "To use *cluster packages*, first navigate to :menuselection:`Inventory app --> Configuration --> Settings`, and activate the :guilabel:`Batch Transfers` feature, located in the :guilabel:`Operations` section. Doing so makes the *Package Use* field become visible on a package form." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:447 +msgid "Perpetual Continental" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:-1 -msgid "Activate the *Batch Transfers* feature in Inventory > Configuration > Settings." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:449 +msgid "Perpetual Anglo-Saxon" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:174 -msgid "Add new packages by going to :menuselection:`Inventory app --> Products --> Packages`. Then, click :guilabel:`New`, or select an existing package. Doing so opens the package form, which contains the following fields:" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:451 +msgid "Accounting valuation" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:178 -msgid ":guilabel:`Package Reference` (required): name of the package." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:451 +msgid ":meh:`Requires inventory`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:179 -msgid ":guilabel:`Package Type`: used for :ref:`configuring shipping boxes to ship to the customer `." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:451 +msgid ":good:`Accounting only`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:183 -msgid ":guilabel:`Package Type` is unnecessary for configuring packages for cluster pickings." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:453 +msgid "Perpetual Entries" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:185 -msgid ":guilabel:`Shipping Weight`: used to input the weight of the package after measuring it on a scale." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:453 +msgid ":good:`Invoices + every moves`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:187 -msgid ":guilabel:`Company`: specify a company to make the package available **only** at the selected company. Leave the field blank if the package is available at all companies." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:453 +msgid ":good:`Invoices + one closing`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:189 -msgid ":guilabel:`Location`: current location of the package." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:455 +msgid "Invoices to issue" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:190 -msgid ":guilabel:`Pack Date`: the date the package was created." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:455 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:457 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:459 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:461 +msgid ":bad:`✗`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:191 -msgid ":guilabel:`Package Use`: choose :guilabel:`Reusable` for packages used for moving products within the warehouse; :guilabel:`Disposable` for packages used to ship products to customers." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:457 +msgid "Prepaid expenses" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:-1 -msgid "Display package form to create a cluster pack." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:459 +msgid "Bills to receive" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:199 -msgid ":doc:`Using cluster packages <../../shipping_receiving/picking_methods/cluster>`" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:461 +msgid "Deferred revenues" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:202 -msgid "View packages" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:463 +msgid "Performance" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:204 -msgid "To view all packages go to :menuselection:`Inventory app --> Products --> Packages`. By default, packages are shown in Kanban view, in their current storage location." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:463 +msgid ":bad:`Slower`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:208 -msgid "Drag-and-drop packages to move them between internal locations." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:463 +msgid ":good:`Faster`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:-1 -msgid "Packages dashboard." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:465 +msgid "General ledger" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:7 -msgid "In Odoo *Inventory*, *packaging* refers to disposable containers holding multiple units of a specific product." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:465 +msgid ":good:`More journal entries`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:10 -msgid "For example, different packages for cans of soda, such as a 6-pack, a 12-pack, or a case of 36, **must** be configured on the individual product form. This is because packagings are product specific, not generic." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:465 +msgid ":good:`Fewer journal entries`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:15 -msgid "Packaging can be used in conjunction with Odoo :doc:`Barcode <../../../barcode/setup/software>`. When receiving products from suppliers, scanning the packaging barcode automatically adds the number of units in the packaging to the internal count of the product." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:3 +msgid "Landed costs" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:22 -msgid "To use packagings, navigate to :menuselection:`Inventory app --> Configuration --> Settings`. Then, under the :guilabel:`Products` heading, enable the :guilabel:`Product Packagings` feature, and click :guilabel:`Save`." +#: ../../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/product_management/configure/packaging.rst:-1 -msgid "Enable packagings by selecting \"Product Packagings\"." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:13 +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/product_management/configure/packaging.rst:33 -msgid "Create packaging" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:20 +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/product_management/configure/packaging.rst:35 -msgid "Packagings can be created directly on the product form, or from the :guilabel:`Product Packagings` page." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:24 +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/product_management/configure/packaging.rst:39 -msgid "From product form" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:27 +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/product_management/configure/packaging.rst:41 -msgid "Create packagings on a product form by going to :menuselection:`Inventory app --> Products --> Products`, and select the desired product." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:30 +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 "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:44 -msgid "Under the :guilabel:`Inventory` tab, scroll down to the :guilabel:`Packaging` section, and click :guilabel:`Add a line`. In the table, fill out the following fields:" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:-1 +msgid "Landed Costs feature and resulting Default Journal field in the Inventory settings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:47 -msgid ":guilabel:`Packaging` (required): name of packaging that appears on sales/purchase orders as a packaging option for the product." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:37 +msgid "Create landed cost product" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:49 -msgid ":guilabel:`Contained quantity` (required): amount of product in the packaging." +#: ../../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." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:50 -msgid ":guilabel:`Unit of Measure` (required): measurement unit for quantifying the product." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:43 +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/product_management/configure/packaging.rst:51 -msgid ":guilabel:`Sales`: check this option for packagings intended for use on sales orders." +#: ../../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`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:52 -msgid ":guilabel:`Purchase`: check this option for packagings intended for use on purchase orders." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:51 +msgid "Landed cost products **must** have their :guilabel:`Product Type` set to :guilabel:`Service`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:55 -msgid "Access additional fields in the :guilabel:`Packaging` table below by clicking the |adjust| icon to the far-right of the column titles in the :guilabel:`Packaging` section, and selecting the desired options from the drop-down menu that appears." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:53 +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/product_management/configure/packaging.rst:59 -msgid ":guilabel:`Barcode`: identifier for tracing packaging in stock moves or pickings, using the :ref:`Barcode app `. Leave blank if not in use." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:57 +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/product_management/configure/packaging.rst:61 -msgid ":guilabel:`Company`: indicates the packaging is only available at the selected company. Leave blank to make the packaging available across all companies." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:59 +msgid ":guilabel:`By Quantity`: splits the cost across each unit of all products in the receipt." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:65 -msgid "To create a packaging type for six units of the product, `Grape Soda`, begin by clicking :guilabel:`Add a line`. In the line, name the :guilabel:`Packaging` `6-pack`, and set the :guilabel:`Contained quantity` to `6`. Repeat this process for additional packagings." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:60 +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/product_management/configure/packaging.rst:0 -msgid "Create 6-pack case for product." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:62 +msgid ":guilabel:`By Weight`: splits the cost, according to the weight of the products in the receipt." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:74 -msgid "From product packagings page" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:63 +msgid ":guilabel:`By Volume`: splits the cost, according to the volume of the products in the receipt." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:76 -msgid "To view all packagings that have been created, go to :menuselection:`Inventory app --> Configuration --> Product Packagings`. Doing so reveals the :guilabel:`Product Packagings` page with a complete list of all packagings that have been created for all products. Create new packagings by clicking :guilabel:`New`." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:-1 +msgid "Is a Landed Cost checkbox and Default Split Method on service type product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:82 -msgid "Two soda products, `Grape Soda` and `Diet Coke`, have three types of packagings configured. On the :guilabel:`Product Packagings` page, each product can be sold as a `6-Pack` that contains 6 products, as a `12-Pack` of 12 products, or as a `Case` of 32 products." +#: ../../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." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:0 -msgid "List of different packagings for products." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:71 +msgid "To apply a landed cost on a vendor bill, products in the original |PO| **must** belong to a *Product Category* with a *Costing Method* of either |AVCO| or |FIFO|." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:91 -msgid "Partial reservation" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:75 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:54 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:77 +msgid "Create purchase order" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:93 -msgid "After :ref:`completing the packaging setup `, packagings can be reserved in full or partial quantities for outgoing shipments. Partial packaging flexibility expedites order fulfillment by allowing the immediate shipment of available items, while awaiting the rest." +#: ../../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|." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:98 -msgid "To configure packaging reservation methods, go to :menuselection:`Inventory app --> Configuration --> Product Categories`. Then, click :guilabel:`New`, or select the desired product category." +#: ../../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`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:101 -msgid "On the product category's form, in the :guilabel:`Logistics` section, :guilabel:`Reserve Packagings` can be set to :guilabel:`Reserve Only Full Packagings` or :guilabel:`Reserve Partial Packagings`." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:85 +msgid "Create vendor bill" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:105 -msgid "To see the :guilabel:`Reserve Packaging` field, the :guilabel:`Product Packaging` feature **must** be enabled. To enable this feature, go to :menuselection:`Inventory app --> Configuration --> Settings`, scroll to the :guilabel:`Products` section, tick the :guilabel:`Product Packagings` checkbox, and click :guilabel:`Save`." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:87 +msgid "Once the vendor fulfills the |PO| and sends a bill, a vendor bill can be created from the |PO| in Odoo." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:-1 -msgid "Show Reserve Packagings field on the product categories page." +#: ../../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." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:115 -msgid "To better evaluate the options based on business needs, consider the following example:" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:94 +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/product_management/configure/packaging.rst:117 -msgid "a product is sold in twelve units per packaging." +#: ../../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." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:118 -msgid "an order demands two packagings." +#: ../../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/product_management/configure/packaging.rst:119 -msgid "there are only twenty-two units in stock." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:105 +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/product_management/configure/packaging.rst:121 -msgid "When :guilabel:`Reserve Only Full Packagings` is selected, only twelve units are reserved for the order." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:109 +msgid "Additionally, at the top of the form, a :guilabel:`Create Landed Costs` button appears." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:124 -msgid "Conversely, when :guilabel:`Reserve Partial Packagings` is selected, twenty-two units are reserved for the order." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:-1 +msgid "Create Landed Costs button on vendor bill." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:128 -msgid "Apply packagings" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:115 +msgid "Add landed cost" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:130 -msgid "When creating a sales order in the :menuselection:`Sales` app, specify the packagings that should be used for the product. The chosen packaging is displayed on the :abbr:`SO (Sales Order)` under the :guilabel:`Packaging` field." +#: ../../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." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:135 -msgid "18 cans of the product, `Grape Soda`, is packed using three 6-pack packagings." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:120 +msgid "Doing so automatically creates a landed cost record, with a set landed cost pre-filled in the product line in the :guilabel:`Additional Costs` tab." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:0 -msgid "Assign packagings on the Sales Order Line." +#: ../../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." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:144 -msgid "Routes for packaging" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:-1 +msgid "Landed cost form with selected receipt transfer." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:146 -msgid "When receiving packagings, by default, they follow the warehouse's :doc:`configured reception route <../../shipping_receiving/daily_operations>`. To **optionally** set up a packaging-specific route, go to :menuselection:`Inventory app --> Configuration --> Routes`." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:130 +msgid "In addition to creating landed costs directly from a vendor bill, landed cost records can *also* be created by navigating to :menuselection:`Inventory app --> Operations --> Landed Costs`, and clicking :guilabel:`New`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:151 -msgid "The *Product Packagings*, *Storage Locations*, and *Multi-Step Routes* features (found by going to :menuselection:`Inventory app --> Configuration --> Settings`) **must** be activated, and saved." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:134 +msgid "After setting the picking from the :guilabel:`Transfers` drop-down menu, click :guilabel:`Compute` (at the bottom of the form, under the :guilabel:`Total:` cost)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:156 -msgid ":doc:`../../shipping_receiving/daily_operations/use_routes`" +#: ../../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|." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:159 -msgid "Create route" +#: ../../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/product_management/configure/packaging.rst:161 -msgid "On the :guilabel:`Routes` page, click :guilabel:`New`, or select a route that is **not** for a warehouse. Next, in the :guilabel:`Applicable on` section, tick the :guilabel:`Packagings` checkbox." +#: ../../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." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:168 -msgid "Create route for a packaging." +#: ../../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`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:168 -msgid "Route with \"Packagings\" selected, with \"Products\" and \"Warehouses\" not selected." +#: ../../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/product_management/configure/packaging.rst:173 -msgid "Apply route on packaging" +#: ../../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/product_management/configure/packaging.rst:175 -msgid "Then, to apply the route, go to :menuselection:`Inventory app --> Products --> Products`, and select the product that uses packaging." +#: ../../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/product_management/configure/packaging.rst:178 -msgid "In the product form, switch to the :guilabel:`Inventory` tab. In the :guilabel:`Packaging` section that contains :ref:`configured packagings `, click the |adjust| icon. Tick the :guilabel:`Routes` checkbox to make the column visible in the :guilabel:`Packaging` table." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:162 +msgid "Click into the journal entry to view the :guilabel:`Journal Items`, and other information about the entry." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:183 -msgid "In the :guilabel:`Routes` field, select the packaging-specific route. Repeat these steps for all packaging intended to use the route." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:0 +msgid "Journal Entry form for landed cost created from vendor bill." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:-1 -msgid "Set route on a packaging." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:3 +msgid "Valuation by lots/serial numbers" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:3 -msgid "Product type" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:5 +msgid "Track :doc:`inventory valuation ` by :doc:`lots or serial numbers <../product_management/product_tracking>` to:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:7 -msgid "In Odoo, goods and services are both set up as *products*. When setting up a new product, there are several fields that should be carefully chosen, as they determine how to invoice and track a business' goods or services." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:8 +msgid ":ref:`Compare and differentiate purchasing cost `, based on lot or serial numbers." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:11 -msgid "To configure an existing product, go to :menuselection:`Inventory app --> Products --> Products`, and select the desired product from the list. Alternatively, from the :guilabel:`Products` menu, click :guilabel:`New` to create a new product." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:10 +msgid "Track the actual cost of manufactured products, based on the real cost of each tracked component used." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:16 -msgid "`Odoo Tutorials: Product Type `_" +#: ../../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>`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:21 -msgid "For sale vs. purchase" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:16 +msgid "Please read this :doc:`introduction to inventory valuation ` before setting up valuation by lot/serial numbers." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:23 -msgid "Goods and services can be designated as those that can be bought, sold, or both. On the product form, tick the :guilabel:`Sales` checkbox if a product can be *sold* to a customer (e.g. finished goods). Tick :guilabel:`Purchase` if the product can be *purchased* (e.g. raw materials)." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:22 +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/product_management/configure/type.rst:28 -msgid "If a resale clothing shop buys discounted denim jackets and sells them at a higher cost to the end consumer, the `Jacket` product form might have *both* the :guilabel:`Sales` and :guilabel:`Purchase` checkbox ticked." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:27 +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/product_management/configure/type.rst:32 -msgid "On the other hand, say the store occasionally sews new jackets using denim and thread as raw materials. In the `Denim` and `Thread` product forms, only :guilabel:`Purchase` should be ticked, whereas the `Handmade Jacket` product form would only tick :guilabel:`Sales`." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:32 +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/product_management/configure/type.rst:37 -msgid "Goods vs. services" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:35 +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/product_management/configure/type.rst:39 -msgid "When configuring a product, a :guilabel:`Product Type` needs to be selected on the :guilabel:`General Information` tab of a product form. Each product type impacts different operations in other Odoo applications, such as **Sales** and **Purchase**, and should be chosen carefully." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:39 +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/product_management/configure/type.rst:44 -msgid ":guilabel:`Goods`: a tangible, material object (e.g. anything from a hamburger to a house)" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:45 +msgid "Product form showing the Valuation by Lot or Serial Number feature." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:45 -msgid ":guilabel:`Service`: an intangible, immaterial offering (e.g., a repair, a haircut, call center assistance)" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:45 +msgid "Product form showing the Valuation by Lot or Serial Number feature" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:47 -msgid ":guilabel:`Combo`: any mix of goods and services (e.g. a new car (*good*) with an oil change included (*service*))" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:48 +msgid "Valuation layers" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:51 -msgid "Due to their immaterial nature, services are not trackable in Odoo's **Inventory** application." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:50 +msgid "To understand how valuation by lots and serial numbers works, consider these scenarios:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:56 -msgid "Configure goods" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:52 +msgid ":ref:`Purchase and sell products `: cost is calculated based on the *product category's* costing method." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:58 -msgid "Selecting :guilabel:`Goods` as the :guilabel:`Product Type` automatically triggers the appearance of a few fields and tabs in the product form:" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:54 +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/product_management/configure/type.rst:61 -msgid ":guilabel:`Inventory` tab: From here, :doc:`purchasing and manufacturing routes <../../shipping_receiving/daily_operations/use_routes>` and product logistics, such as product weight and customer lead time, can be specified." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:57 +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/product_management/configure/type.rst:64 -msgid ":ref:`Invoicing Policy ` field: This field determines at what point in the sales process a customer is invoiced." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:61 +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/product_management/configure/type.rst:68 -msgid "The :guilabel:`Invoicing Policy` field **only** appears if the **Sales** app is installed." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:64 +msgid ":math:`Avg~Cost = \\frac{Total~Value}{Total~Qty}`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:70 -msgid ":ref:`Track Inventory ` field: This checkbox determines whether Odoo tracks inventory for this product." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:69 +msgid "Purchase products" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:72 -msgid "Smart buttons: Some smart buttons appear above the form when :guilabel:`Goods` is selected; others show upon selecting a :guilabel:`Track Inventory` method. For example, :guilabel:`On Hand` and :guilabel:`Forecasted` display when :guilabel:`Track Inventory` is ticked. In general, most smart buttons on a product form link to :ref:`inventory operations `." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:71 +msgid "Consider how purchasing products affect the inventory valuation, in the table below." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:-1 -msgid "Designate a product as a good or service." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:79 +msgid "Lot number" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:84 -msgid "Invoicing policy" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:80 +msgid "Math" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:86 -msgid "The :guilabel:`Invoicing policy` field only shows on the product form if a product is for sale (in other words, if :guilabel:`Sales` is ticked, and the **Sales** app is installed)." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:81 +msgid "Average cost on product form" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:89 -msgid "When configuring a product for sale, it is necessary to choose an :doc:`invoicing policy <../../../../sales/sales/invoicing/invoicing_policy>`. When an invoicing policy of :guilabel:`Ordered quantities` is selected, customers are invoiced once the sales order is confirmed. When :guilabel:`Delivered quantities` is selected, customers are invoiced once the delivery is completed." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:82 +msgid "Empty stock" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:98 -msgid "Tracked vs. untracked goods" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:83 +msgid "0.00" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:100 -msgid "The :guilabel:`Track Inventory` field on the product form determines a lot of Odoo's **Inventory** operations." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:87 +msgid "Day 1: Receive one product at $10/unit" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:103 -msgid "*Tracked* products are those for which stock and inventory are maintained. Examples include finished goods and, often, the raw materials or components needed to make them." +#: ../../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 +msgid "1.00" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:106 -msgid "When :guilabel:`Track Inventory` is ticked, a drop-down menu appears, offering for inventory to be tracked one of three ways: :guilabel:`By Unique Serial Number`, :guilabel:`By Lots`, or :guilabel:`By Quantity`." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:89 +msgid "LOT 1" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:-1 -msgid "Configure a tracked good." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:90 +msgid ":math:`\\frac{10}{1}`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:113 -msgid "*Untracked* products (sometimes referred to as *non-inventory* products) are typically consumed in a short period of time, meaning that stock/inventory does *not* need to be maintained. Non-inventory products are often essential, but exact counts are unnecessary. Examples include: office supplies, packaging materials, or items used in production that do not need to be individually tracked." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:92 +msgid "Day 2: Receive another product at $20/unit" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:119 -msgid "Tick the :guilabel:`Track Inventory` checkbox if it is necessary to track a product's stock at various locations, for inventory valuation, with lots and/or serial numbers, or when using reordering rules." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:94 +msgid "LOT 2" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:124 -msgid ":doc:`Tracking storable products using lot and serial numbers <../product_tracking>`" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:95 +msgid ":math:`\\frac{10+20}{2}`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:129 -msgid "Inventory operations by product type" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:96 +msgid "$15" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:131 -msgid ":ref:`Whether a good is tracked or untracked ` affects common **Inventory** operations, like transfers and reordering rules." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:101 +msgid "Show Cost on the product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:134 -msgid "The table below summarizes which operations (and smart buttons) are enabled for tracked vs. untracked goods. Click highlighted chart items to navigate to detailed sections and related documents." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:101 +msgid "As a result, the product form displays an average cost of $15 in the **Cost** field." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:142 -msgid "Inventory operation" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:106 +msgid "Create new lot/serial number" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:143 -msgid "Tracked" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:108 +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/product_management/configure/type.rst:144 -msgid "Untracked" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:112 +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/product_management/configure/type.rst:145 -msgid ":ref:`Show on-hand quantity `" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:115 +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/product_management/configure/type.rst:146 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:149 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:152 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:155 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:156 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:158 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:162 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:163 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:165 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:168 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:171 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:172 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:174 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:177 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:178 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:180 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:181 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:183 -msgid "Yes" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:147 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:150 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:153 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:159 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:166 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:169 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:175 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:184 -msgid "No" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:148 -msgid ":ref:`Show forecasted quantity `" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:151 -msgid ":ref:`Use reordering rules `" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:154 -msgid ":ref:`Can be included in a purchase order `" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:157 -msgid ":ref:`Use putaway rules `" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:160 -msgid ":ref:`Can be manufactured, subcontracted, or used in another good's BoM `" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:164 -msgid ":doc:`Use inventory adjustments <../../warehouses_storage/inventory_management/count_products>`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:167 -msgid ":doc:`Use inventory valuation <../inventory_valuation/using_inventory_valuation>`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:170 -msgid ":ref:`Create transfer `" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:173 -msgid ":doc:`Use lot/serial number tracking <../product_tracking>`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:176 -msgid ":doc:`Can be placed in a kit <../../../manufacturing/advanced_configuration/kit_shipping>`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:179 -msgid ":ref:`Can be placed in a package `" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:182 -msgid ":ref:`Appears on inventory reports `" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:192 -msgid "On-hand and forecasted quantities" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:194 -msgid "A tracked product's on-hand and forecasted quantities, based on incoming and outgoing orders, are reflected on the product form with two smart buttons:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:197 -msgid ":icon:`fa-cubes` :guilabel:`On-Hand Quantity`: This represents the number of units currently available in inventory. Click the button to view or add stock levels for a tracked product." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:199 -msgid ":icon:`fa-area-chart` :guilabel:`Forecasted`: This represents the number of units *expected* to be available in inventory after all orders are taken into account. In other words, :math:`\\text{forecasted} = \\text{on hand quantity} + \\text{incoming shipments} - \\text{outgoing shipments}`. Click the button to view the :guilabel:`Forecasted Report`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:204 -msgid "On the other hand, untracked products are regarded as *always* available. Consequently, :guilabel:`On-Hand Quantity` is not tracked, and there is no :guilabel:`Forecasted` quantity available." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:211 -msgid "Putaway rules and storage" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:213 -msgid "Both tracked and untracked goods can optimize storage using:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:215 -msgid ":icon:`fa-random` :doc:`Putaway Rules <../../shipping_receiving/daily_operations/putaway>`: This represents putaway rules that apply to a good, such as where to store it when a new shipment arrives." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:218 -msgid ":icon:`fa-cubes` :doc:`Storage Capacities <../../shipping_receiving/daily_operations/storage_category>`: This represents any storage capacity limitations specified for this good. For example, a warehouse may require that only ten (or less) sofas be stored there at any given time, due to their large size." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:227 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:133 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:6 -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:169 -msgid "Replenishment" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:230 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:3 -msgid "Reordering rules" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:232 -msgid "Only tracked products can trigger :doc:`reordering rules <../../warehouses_storage/replenishment/reordering_rules>` to generate purchase orders. Untracked goods *cannot* be managed using reordering rules." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:236 -msgid "Reordering rules can be configured directly on the product form via the :icon:`fa-refresh` :guilabel:`(refresh)` icon." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:240 -msgid "If reordering rules already exist on a product, Odoo re-labels this button to :guilabel:`Min / Max`, to show the minimum and maximum number of units that must be in stock." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:246 -msgid "Create purchase orders" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:248 -msgid "Both tracked and untracked products can be included in a request for quotation in the **Purchase** app. However, when receiving untracked products, their on-hand quantity does not change upon validating the receipt (`WH/IN`)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:253 -msgid "Replenish smart button" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:255 -msgid "The :guilabel:`Replenish` smart button allows all goods to be restocked directly from the product form, according to the *Preferred Route*." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:259 -msgid ":doc:`Replenishment <../../warehouses_storage/replenishment>` `Odoo Tutorials: Replenishment Methods for Manufacturing `_" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:266 -#: ../../content/applications/inventory_and_mrp/manufacturing.rst:7 -msgid "Manufacturing" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:268 -msgid "Both tracked and untracked products can be manufactured, :doc:`subcontracted <../../../manufacturing/subcontracting>`, or included in another product's :doc:`bill of materials (BoM) <../../../manufacturing/basic_setup/bill_configuration>`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:274 -msgid "On the product form for a tracked or untracked good, there are several smart buttons that may appear for manufacturing operations:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:277 -msgid ":icon:`fa-flask` :guilabel:`Bill of Materials`: This shows the BoMs used to make this product." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:278 -msgid ":icon:`fa-level-up` :guilabel:`Used In`: This shows other goods that include this product in their BoM." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:284 -msgid "Transfer goods" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:286 -msgid "*Transfers* are warehouse operations that involve the movement of goods. Examples of transfers include :doc:`deliveries and receipts <../../shipping_receiving/daily_operations/receipts_delivery_one_step>`, as well as :doc:`internal transfers <../../warehouses_storage/replenishment/resupply_warehouses>` between warehouses." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:292 -msgid "When creating a transfer for tracked products in the **Inventory** app, transfers modify the on-hand quantity at each location. For example, transferring five units from the internal location `WH/Stock` to `WH/Packing Zone` decreases the recorded quantity at `WH/Stock` and increases it at `WH/Packing Zone`." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:119 +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/product_management/configure/type.rst:297 -msgid "For untracked products, transfers can be created, but exact quantities at each storage location are not tracked." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:123 +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 "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:305 -msgid "Both tracked and untracked (non-inventory), products can be placed in :doc:`packages `." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:0 +msgid "Show inventory adjustment valuation." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:307 -msgid "However, for non-inventory products, the quantity is not tracked, and the product is not listed in the package's :guilabel:`Contents` (which can be accessed by going to :menuselection:`Inventory app --> Products --> Packages`, and selecting the desired package)." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:132 +msgid "Existing lot/serial number" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:314 -msgid "Show Packages page, containing the package contents list." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:134 +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/product_management/configure/type.rst:314 -msgid "An untracked product was placed in the package, but the **Content** section does not list it." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:138 +msgid "Continuing the example in the table above, the value for `LOT 1` is `$10`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:316 -msgid "Additionally, if the *Move Entire Packages* feature is enabled, moving a package updates the location of the contained tracked products but not the contained untracked products. To enable this feature, navigate to :menuselection:`Inventory app --> Configuration --> Operations Types`, select any operation, and tick the :guilabel:`Move Entire Packages` checkbox." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:140 +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 "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:324 -msgid "Inventory reports" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:0 +msgid "Show valuation of LOT 1 getting updated." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:326 -msgid "**Only** tracked products appear on the following reports." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:146 +msgid "The inventory adjustment (top line) is valued the same as LOT 1 (bottom line)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:329 -msgid "These reports are only available to users with :doc:`administrator access <../../../../general/users/access_rights>`." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:151 +msgid "View valuation" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:332 -msgid ":doc:`Stock report <../../warehouses_storage/reporting/stock>`: This report provides a comprehensive list of all on-hand, unreserved, incoming, and outgoing tracked inventory. To access the report, go to :menuselection:`Inventory app --> Reporting --> Stock`." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:153 +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/product_management/configure/type.rst:335 -msgid ":doc:`Location report <../../warehouses_storage/reporting/locations>`: This report shows a breakdown of which tracked products are held at each location (internal, external, or virtual). The report is only available with the *Storage Location* feature activated (:menuselection:`Inventory app --> Configuration --> Settings`). To access it, go to :menuselection:`Inventory app --> Reporting --> Locations`." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:156 +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/product_management/configure/type.rst:340 -msgid ":doc:`Moves History report <../../warehouses_storage/reporting/moves_history>`: This report summarizes where and when this good has moved in/out of stock. To access the report, go to :menuselection:`Inventory app --> Reporting --> Moves History`. Alternatively, click the :icon:`fa-exchange` :guilabel:`In / Out` smart button on a product form to filter the report on that product's specific moves history." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:160 +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/product_management/configure/type.rst:345 -msgid ":guilabel:`Moves Analysis`: This report provides a pivot table view of inventory transfers by operation type." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:166 +msgid "Show cost of the lot/serial number." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:347 -msgid ":ref:`Stock Valuation report `: A detailed record of the monetary value of all tracked inventory." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:166 +msgid "Lot form, displaying **Cost** field. The **Valuation** smart button is in the top-right." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:3 -msgid "Units of measure" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:168 +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/product_management/configure/uom.rst:11 -msgid "In some cases, handling products in different units of measure is necessary. For example, a business can buy products from a country that uses the metric system, and then sell those products in a country that uses the imperial system. In that case, the business needs to convert the units." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:176 +msgid "Valuation report" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:15 -msgid "Another case for unit conversion is when a business buys products in a big pack from a supplier, and then sells those products in individual units." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:178 +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/product_management/configure/uom.rst:18 -msgid "Odoo can be set up to use different *units of measure (UoM)* for one product." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:181 +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/product_management/configure/uom.rst:23 -msgid "To use different units of measure in Odoo, first go to :menuselection:`Inventory app --> Configuration --> Settings`, and under the :guilabel:`Products` section, activate the :guilabel:`Units of Measure` setting. Then, click :guilabel:`Save`." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:186 +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/product_management/configure/uom.rst:-1 -msgid "Enable Units of Measure in the Inventory settings." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:189 +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 "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:32 -msgid "Units of measure categories" +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:-1 +msgid "Show valuation report, by lots." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:34 -msgid "After enabling the *Units of Measure* setting, view the default units of measure categories in :menuselection:`Inventory app --> Configuration --> UoM Categories`. The category is important for unit conversion; Odoo can convert a product's units from one unit to another **only** if both units belong to the same category." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:196 +msgid "Valuation smart button" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:-1 -msgid "Set units of measure categories." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:198 +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/product_management/configure/uom.rst:43 -msgid "Each units of measure category has a reference unit. The reference unit is highlighted in blue in the :guilabel:`Uom` column of the :guilabel:`Units of Measure Categories` page. Odoo uses the reference unit as a base for any new units." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:201 +msgid "On the :guilabel:`Lot/Serial Numbers` page, click the :guilabel:`Valuation` smart button." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:47 -msgid "To create a new unit, first select the correct category from the :guilabel:`Units of Measure Categories` page. For example, to sell a product in a box of six units, click the :guilabel:`Unit` category line. Then, on the category page that appears, click :guilabel:`Add a line` in the :guilabel:`Units of Measure` tab. Then, in the :guilabel:`Unit of Measure` field, title the new unit, such as `Box of 6`, then in the :guilabel:`Type` field, select the appropriate size reference, such as :guilabel:`Bigger than the reference Unit of Measure`." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:206 +msgid "All stock moves relating to `LOT 1`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:54 -msgid "If applicable, enter a :guilabel:`UNSPSC Category`, which is a globally recognized `code managed by GS1 `_, that **must** be purchased in order to use." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:206 +msgid "All stock moves that affect the valuation of `LOT 1`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:57 -msgid "In the :guilabel:`Ratio` field, enter how many individual units are in the new |UOM|, such as `6.00000` when using the example of the `6-Pack` (since a box of six is six times *bigger* than the reference unit, `1.00000`)." +#: ../../content/applications/inventory_and_mrp/inventory/product_management.rst:5 +msgid "Product management" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:-1 -msgid "Convert products from one unit to another as long as they belong to the same category." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:9 +#: ../../content/applications/inventory_and_mrp/manufacturing/subcontracting/subcontracting_basic.rst:35 +#: ../../content/applications/inventory_and_mrp/manufacturing/subcontracting/subcontracting_dropship.rst:51 +#: ../../content/applications/inventory_and_mrp/manufacturing/subcontracting/subcontracting_resupply.rst:53 +msgid "Configure product" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:66 -msgid "Specify a product's units of measure" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:11 +msgid "A group of products in Odoo can be further defined using:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:68 -msgid "To set units of measure on a product, first go to :menuselection:`Inventory app --> Products --> Products` and select a product to open its product form page." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:13 +msgid ":doc:`Units of measure (UoM) `: a standard quantity for specifying product amounts (e.g., meters, yards, kilograms). Enables automatic conversion between measurement systems in Odoo, such as centimeters to feet." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:71 -msgid "In the :guilabel:`General Information` tab, edit the :guilabel:`Unit of Measure` field to specify the unit of measure that the product is sold in. The specified unit is also the unit used to keep track of the product's inventory and internal transfers." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:17 +msgid "*Ex: Purchasing fabric measured in meters but receiving it in yards from a vendor.*" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:75 -msgid "Edit the :guilabel:`Purchase UoM` field to specify the unit of measure that the product is purchased in." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:19 +msgid ":doc:`configure/package`: A physical container used to group products together, regardless of whether they are the same or different." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:81 -msgid "Unit conversion" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:22 +msgid "*Ex: A box containing assorted items for delivery, or a storage box of two hundred buttons on a shelf.*" msgstr "" -#: ../../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)`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:25 +msgid ":doc:`configure/packaging`: groups the *same* products together to receive or sell them in specified quantities." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:86 -msgid "This occurs in various scenarios, including:" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:28 +msgid "*Ex: Cans of soda sold in packs of six, twelve, or twenty-four.*" msgstr "" -#: ../../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" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:31 +msgid "Comparison" msgstr "" -#: ../../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|" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:33 +msgid "This table provides a detailed comparison of units of measure, packages, and packaging to help businesses evaluate which best suits their requirements." msgstr "" -#: ../../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" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:40 +msgid "Feature" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:100 -msgid "Buy products in the purchase UoM" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:41 +msgid "Unit of measure" msgstr "" -#: ../../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 automatically uses the product's specified purchase unit of measure. If needed, manually edit the :guilabel:`UoM` value on the |RFQ|." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:42 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:3 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:303 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies.rst:99 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies.rst:159 +msgid "Packages" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:106 -msgid "After the |RFQ| is confirmed into a |PO|, click the :guilabel:`Receipt` smart button at the top of the |PO|." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:44 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:185 +msgid "Purpose" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:109 -msgid "Odoo automatically converts the purchase unit of measure into the product's sales/inventory unit of measure, so the :guilabel:`Demand` column of the delivery receipt shows the converted quantity." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:45 +msgid "Standardized measurement for product units (e.g., cm, lb, L)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:113 -msgid "When the product's purchase :guilabel:`UoM` is `Box of 6`, and its sales/inventory unit of measure is `Units`, the |PO| shows the quantity in boxes of six, and the receipt (and other internal warehouse documents) shows the quantity in units." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:46 +msgid "Tracks the specific physical container and its contents" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:0 -msgid "Image of a purchase order that is using the purchase unit of measure." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:47 +msgid "Groups a fixed number of items together for easier management (e.g., packs of 6, 12 or 24)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:121 -msgid "An order of three quantities is placed using the purchase \"UoM\": `Box of 6`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:48 +msgid "Product uniformity" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:0 -msgid "Image of receipt displaying the unit of measure." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:49 +msgid "Defined per product; saved as one |UoM| in the database" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:127 -msgid "Upon warehouse receipt, the recorded quantities are in the internal \"Unit of Measure\": `Units`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:50 +msgid "Allows mixed products" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:135 -msgid "A request for quotation for a product can also be generated directly from the product form using the :guilabel:`Replenish` button." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:51 +msgid "Same products only" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:138 -msgid "After clicking :guilabel:`Replenish`, a replenish assistant box pops up. The purchase unit of measure can be manually edited in the :guilabel:`Quantity` field, if needed. Then, click :guilabel:`Confirm` to create the |RFQ|." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:52 +msgid "Flexible" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:143 -msgid "A |PO| can **only** be automatically generated if at least **one** vendor is listed in the product form's :guilabel:`Purchase` tab." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:53 +msgid "Converts between vendor/customer |UoMs| and database |UoM|" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:-1 -msgid "Click Replenish button to manually replenish." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:54 +msgid "Items can be added or removed from the container" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:150 -msgid "Navigate to the created |PO| by clicking the :guilabel:`Forecasted` smart button on the product form. Scroll down to the :guilabel:`Forecasted Inventory` section, and in the :guilabel:`Requests for quotation` line, click the |RFQ| reference number to open the draft |RFQ|. If necessary, the purchase |UOM| can be edited directly on the |PO|." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:55 +msgid "Quantities are fixed (e.g., always packs of 6, 12 or 24)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:158 -msgid "Sell in a different UoM" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:56 +msgid "Complexity" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:160 -msgid "When creating a new quotation in the *Sales* app, Odoo automatically uses the product's specified unit of measure. If needed, the :guilabel:`UoM` can be manually edited on the quotation." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:57 +msgid "Simplest for unit conversions" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:163 -msgid "After the quotation is sent to the customer, and confirmed into a sales order (SO), click the :guilabel:`Delivery` smart button at the top of the |SO|. Odoo automatically converts the unit of measure into the product's inventory unit of measure, so the :guilabel:`Demand` column of the delivery shows the converted quantity." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:58 +msgid "More complex due to container-level inventory tracking" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:168 -msgid "For example, if the product's |UOM| on the |SO| was changed to `Box of 6`, but its inventory unit of measure is `Units`, the |SO| shows the quantity in boxes of six, and the delivery shows the quantity in units." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:59 +msgid "Simpler; suitable for uniform product groupings" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation.rst:5 -msgid "Inventory valuation" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:60 +msgid "Inventory tracking" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:3 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:15 -msgid "Automatic inventory valuation" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:61 +msgid "Tracks product quantities within the warehouse in the specific |UoM| defined in the product form" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:7 -msgid "All of a company's stock on-hand contributes to the valuation of its inventory. That value should be reflected in the company's accounting records to accurately show the value of the company and all of its assets." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:63 +msgid "Tracks package location and contents within the warehouse" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:11 -msgid "By default, Odoo uses a periodic inventory valuation (also known as manual inventory valuation). This method implies that the accounting team manually posts journal entries, based on the physical inventory of the company, and warehouse employees take the time to count the stock. In Odoo, each product category reflects this, with the :guilabel:`Costing Method` set to :guilabel:`Standard Price`, and the :guilabel:`Inventory Valuation` (not visible by default) set to :guilabel:`Manual`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:64 +msgid "Tracks grouped quantities but not individual items' locations" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:-1 -msgid "The Costing Method field is located on the Product Categories form." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:65 +msgid "Smooth barcode operations" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:21 -msgid "Alternatively, perpetual (automatic) inventory valuation creates real-time *journal entries* in the *Accounting* app whenever stock enters or leaves the company's warehouse." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:66 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:74 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:78 +msgid "Not available" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:24 -msgid "This document is focused on the proper setup of automatic inventory valuation, which is an integrated valuation method that ensures journal entries in the *Accounting* app match stock valuation updates in the *Inventory* app. For an introduction of inventory valuation in Odoo, refer to the :doc:`using_inventory_valuation` documentation." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:67 +msgid "Requires scanning both the package and individual items for reception. (even if there are 30 items in a package). Can enable the :ref:`Move Entire Packages ` feature to update the package's contained items' locations, when moving the package" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:30 -msgid "Switching from manual to automatic inventory valuation may cause discrepancies between stock valuation and accounting journals." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:71 +msgid "Scanning a packaging barcode automatically records all included units. (e.g. 1 pack = 12 units)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:33 -msgid "One `successful strategy `_ for switching to automated valuation:" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:73 +msgid "Product lookup" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:35 -msgid "Clear existing stock (possibly with an :doc:`inventory adjustment <../../warehouses_storage/inventory_management/count_products>`)" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:75 +msgid "Scanning a product's barcode identifies its typical storage location in the Odoo database" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:37 -msgid "Change the inventory valuation method to *Automatic*" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:76 +msgid "Barcode identifies grouped quantity, not storage location" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:38 -msgid "Return the existing stock, with the original monetary value (using an inventory adjustment)" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:77 +msgid "Unique barcodes" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:40 -msgid "Once the existing stock is recovered, the Odoo *Accounting* app automatically generates the journal entries to corresponding stock valuation records." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:79 +msgid "Unique barcodes for individual packages (e.g. Pallet #12)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:46 -msgid "To properly set up automatic inventory valuation, follow these steps in Odoo:" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:80 +msgid "Barcodes set at the packaging type level (e.g. for a pack of 6)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:48 -msgid ":ref:`Install Accounting app and enable specific settings `" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:81 +msgid "Reusability" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:50 -msgid ":ref:`Set Automatic inventory valuation on product categories `" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:82 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:87 +msgid "Not applicable" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:52 -msgid ":ref:`Set costing method `" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:83 +msgid "Can be disposable or reusable, configured via the :ref:`Package Use ` field" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:57 -msgid "Accounting setup" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:85 +msgid "Disposable only" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:59 -msgid "To use automatic inventory valuation, install the *Accounting* app. Next, go to :menuselection:`Accounting app --> Configuration --> Settings`, and in the :guilabel:`Stock Valuation` section, tick the :guilabel:`Automatic Accounting` checkbox. Then, click :guilabel:`Save`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:86 +msgid "Container weight" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:65 -msgid "Enabling :guilabel:`Automatic Accounting` shows the previously invisible *Inventory Valuation* field on a product category." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:88 +msgid "Weight of the container itself is included in the *Shipping Weight* field of a package (:menuselection:`Inventory app --> Products --> Packages`)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:-1 -msgid "Automatic Accounting feature in Stock Valuation section of Settings page." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:90 +msgid "Weight of the container is defined in the *Package Type* settings" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:72 -msgid "Refer to the :ref:`Expense ` and :ref:`Stock input/output ` sections of documentation for details on configuring the accounting journals shown." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:91 +#: ../../content/applications/inventory_and_mrp/manufacturing/basic_setup/configure_manufacturing_product.rst:30 +msgid "Lot/serial number tracking" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:79 -msgid "Product category setup" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:92 +msgid "Requires manual adjustments to track |UoMs| via lots (See :ref:`use case ` for details)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:81 -msgid "After :ref:`enabling inventory valuation `, the next step is to set the product category to use automatic inventory valuation." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:94 +msgid "Applies only to contained products" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:84 -msgid "Go to :menuselection:`Inventory app --> Configuration --> Product Categories`, and select the desired product category. In the :guilabel:`Inventory Valuation` section, set the :guilabel:`Inventory Valuation` field to :guilabel:`Automated`. Repeat this step for every product category intending to use automatic inventory valuation." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:95 +msgid "Applies to both contained products and the container" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:90 -msgid "After enabling automatic accounting, each new stock move layer (SVL), that is created during inventory valuation updates, generates a journal entry." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:96 +msgid "Custom routes" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:-1 -msgid "Inventory Valuation field on the product category, with its various stock accounts." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:97 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:98 +msgid "Cannot be set" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:100 -msgid "Costing method" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:99 +msgid "Routes can define specific warehouse paths for a particular packaging type" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:102 -msgid "After :ref:`enabling inventory valuation `, the *costing method* for calculating and recording inventory costs is defined on the product category in Odoo." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:102 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/forecast.rst:125 +msgid "Use cases" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:106 -msgid "Go to :menuselection:`Inventory app --> Configuration --> Product Categories` and select the desired product category. In the :guilabel:`Inventory Valuation` section, select the appropriate :guilabel:`Costing Method`:" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:104 +msgid "After comparing the various features, consider how these businesses, with various inventory management and logistics workflows, came to their decision." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:113 -msgid "Standard Price" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:108 +msgid "Pallets of items using packaging" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:115 -msgid "The default costing method in Odoo. The cost of the product is manually defined on the product form, and this cost is used to compute the valuation. Even if the purchase price on a purchase order differs, the valuation is the cost defined on the product form." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:110 +msgid "A warehouse receives shipments of soap organized on physical pallets, each containing 96 bars. These pallets are used for internal transfers and are also sold as standalone units. For logistical purposes, the pallet's weight must be included in the total shipping weight for certain deliveries. Additionally, the pallet requires a barcode to facilitate tracking, and the number of individual bars of soap must be included in the stock count when the pallet is received." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:123 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:164 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:235 -msgid "Operation" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:116 +msgid "After evaluating various options, *product packaging* was the most suitable solution. Packaging enables assigning a barcode to a pallet, identifying it as a \"pallet type\" containing 96 soap bars. This barcode streamlines operations by automatically registering the grouped quantity. Key distinctions include:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:124 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:165 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:236 -msgid "Unit Cost" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:121 +msgid "**Warehouse tracking limitations**: Odoo tracks only the total quantity, not the number of packagings. For instance, if a pallet with 12 and 24 quantities is received, Odoo records 36 quantities, not the pallet details." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:125 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:166 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:237 -msgid "Qty On Hand" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:124 +msgid "**Packaging barcodes are type-specific, not unique**: Barcodes represent packaging types (e.g., \"pallet of 96 soap bars\") but do not uniquely identify individual pallets, such as Pallet #1 or Pallet #2." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:126 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:167 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:238 -msgid "Incoming Value" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:129 +msgid "Capture product information using barcode" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:127 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:168 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:239 -msgid "Inventory Value" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:131 +msgid "An Odoo user expects the **Barcode** app to display the typical storage location of a product by scanning a barcode for a container." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:129 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:134 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:139 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:144 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:149 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:175 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:246 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:94 -msgid "$10" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:134 +msgid "*Packages* was the most suitable. When the :ref:`appropriate setting is enabled `, scanning a package barcode displays its contents in the **Barcode** app." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:130 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:171 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:242 -msgid "0" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:138 +msgid "Packages represent physical containers, enabling detailed tracking of the items they hold. Scanning a package provides visibility into its contents and facilitates operations, like inventory moves." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:132 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:170 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:173 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:241 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:244 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:89 -msgid "$0" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:145 +msgid "Track different units of measure in storage" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:133 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:174 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:245 -msgid "Receive 8 products for $10/unit" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:147 +msgid "A fruit juice distributor tracks multiple |UoMs| for their operations:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:135 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:176 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:247 -msgid "8" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:149 +msgid "Fruits are purchased in tons." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:136 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:177 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:248 -msgid "8 * $10" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:150 +msgid "Juice is produced and stored in kilograms." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:137 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:178 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:249 -msgid "$80" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:151 +msgid "Small samples are stored in grams for recipe testing." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:138 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:179 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:250 -msgid "Receive 4 products for $16/unit" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:153 +msgid "*Unit of Measure* was most suitable. Odoo automatically converts tons to kilograms during receipts. However, since Odoo tracks only one |UoM| per product in the database, the company uses lot numbers to differentiate |UoMs|:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:140 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:181 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:252 -msgid "12" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:157 +msgid "LOT1: Grams (g)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:141 -msgid "4 * $10" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:158 +msgid "LOT2: Kilograms (kg)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:142 -msgid "$120" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure.rst:160 +msgid "Manual inventory adjustments are required to convert between lots, such as subtracting 1 kg from LOT2 to add 1,000 g to LOT1. While functional, this workaround can be time-consuming and prone to errors." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:143 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:184 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:255 -msgid "Deliver 10 products" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:7 +msgid "A *package* is a physical container holding one or more products. Packages can also be used to store items in bulk." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:145 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:186 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:257 -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/fefo.rst:95 -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/fifo.rst:75 -#: ../../content/applications/inventory_and_mrp/purchase/products/pricelist.rst:235 -msgid "2" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:10 +msgid "Packages are commonly used for the following purposes:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:146 -msgid "-10 * $10" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:12 +msgid ":ref:`Grouping products to move them in bulk `." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:147 -msgid "$20" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:13 +msgid ":ref:`Shipping to customers `: configure package types to align with shipping carriers' size and weight requirements, streamlining the packing process, and ensuring compliance with carrier shipping specifications." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:148 -msgid "Receive 2 products for $9/unit" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:16 +msgid "Storing items in bulk." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:150 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:191 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:263 -#: ../../content/applications/inventory_and_mrp/purchase/products/pricelist.rst:224 -#: ../../content/applications/inventory_and_mrp/purchase/products/pricelist.rst:242 -msgid "4" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:18 +msgid "*Package use* is a field on the package form in Odoo that is only visible by enabling the *Batch Transfers* and *Packages* features (:menuselection:`Inventory app --> Configuration --> Settings`)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:151 -msgid "2 * $10" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:21 +msgid "By default, the *Package Use* field on a packages form is set to *Disposable Box*. Change this field to *Reusable Box* **only** when configuring packages for :ref:`cluster pickings `." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:152 -msgid "$40" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:25 +msgid "*Package type* is an optional feature used for :doc:`calculating shipping cost <../../shipping_receiving/setup_configuration>`, based on real shipping weight. Create package types to include the weight of the package itself (e.g. boxes, pallets, other shipping containers) in shipping cost calculations." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:154 -msgid "Average Cost (AVCO)" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:31 +msgid "While packages are commonly used in the :doc:`three-step delivery route <../../shipping_receiving/daily_operations/delivery_three_steps>`, they can be used in any workflow involving storable products." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:156 -msgid "Calculates the valuation of a product based on the average cost of that product, divided by the total number of available stock on-hand. With this costing method, inventory valuation is *dynamic*, and constantly adjusts based on the purchase price of products." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:40 +msgid "To use packages, first go to :menuselection:`Inventory app --> Configuration --> Settings`. Under the :guilabel:`Operations` heading, activate the :guilabel:`Packages` feature. Then, click :guilabel:`Save`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:180 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:185 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:251 -msgid "$12" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:-1 +msgid "Activate the *Packages* setting in Inventory > Configuration > Settings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:182 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:253 -msgid "4 * $16" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:49 +msgid "When moving packages internally, the *Move Entire Packages* feature can be enabled on an operation type to update a package's contained item's location upon updating the package's location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:183 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:254 -msgid "$144" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:52 +msgid "To do that, go to :menuselection:`Inventory app --> Configuration --> Operations Types` and select the desired operation this feature will apply to (may have to set it for multiple)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:187 -msgid "-10 * $12" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:55 +msgid "Open the :guilabel:`Barcode App` tab, then select the :guilabel:`Move Entire Packages` checkbox." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:188 -msgid "$24" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:-1 +msgid "Enable \"Move Entire Packages\" on the Operation Type." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:189 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:261 -msgid "Receive 2 products for $6/unit" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:63 +msgid "Pack items" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:190 -msgid "$9" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:65 +msgid "Products can be added to packages in any transfer by:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:192 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:264 -msgid "2 * $6" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:67 +msgid "Clicking each :ref:`Detailed Operations ` icon on the product line." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:193 -msgid "$36" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:69 +msgid "Using the :ref:`Put in Pack ` button to place everything in the transfer into a package." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:195 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:267 -msgid "How are unit cost and inventory value calculated at each step?" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:75 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:280 +msgid "Detailed operations" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:197 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:269 -msgid "When receiving four products for $16 each:" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:77 +msgid "On any warehouse transfer (e.g. receipt, delivery order), add a product to a package by clicking the :guilabel:`⦙≣ (bulleted list)` icon in the :guilabel:`Operations` tab." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:199 -msgid "Inventory value is calculated by adding the previous inventory value with the incoming value: :math:`$80 + (4 * $16) = $144`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:-1 +msgid "Show \"Detailed Operations\" icon in the product line." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:201 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:273 -msgid "Unit cost is calculated by dividing the inventory value by the quantity on-hand: :math:`$144 / 12 = $12`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:83 +msgid "Doing so opens the :guilabel:`Detailed Operations` pop-up window for the :guilabel:`Product`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:204 -msgid "When delivering ten products, the average unit cost is used to calculate the inventory value, regardless of the purchase price of the product. Therefore, inventory value is :math:`$144 + (-10 * $12) = $24`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:85 +msgid "To put the :guilabel:`Product` in a package, click :guilabel:`Add a line`, and assign the product to a :guilabel:`Destination Package`. Select an existing package, or create a new one by typing the name of the new package, then select :guilabel:`Create...`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:208 -msgid "Receive two products for $6 each:" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:92 +msgid "Assign a package to \"Destination Package\" field." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:210 -msgid "Inventory value: :math:`$24 + (2 * $6) = $36`" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:92 +msgid "Twelve units of `Acoustic Bloc Screen` are placed in `PACK0000001`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:211 -msgid "Unit cost: :math:`$36 / 4 = $9`" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:94 +msgid "Then, specify the quantity of items to go into the package in the :guilabel:`Done` column. Repeat the above steps to place the :guilabel:`Product` in different packages. Once finished, click :guilabel:`Confirm` to close the window." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:214 -msgid "When choosing :guilabel:`Average Cost (AVCO)` as the :guilabel:`Costing Method`, changing the numerical value in the *Cost* field for products in the respective product category creates a new record in the *Inventory Valuation* report to adjust the value of the product. The *Cost* amount is then automatically updated, based on the average purchase price of both the inventory on-hand and the costs accumulated from validated purchase orders." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:99 +msgid ":doc:`Ship one order in multiple packages <../../shipping_receiving/setup_configuration/multipack>`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:221 -msgid "First In First Out (FIFO)" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:105 +msgid "Put in pack" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:223 -msgid "Tracks the costs of incoming and outgoing items in real-time, and uses the real price of the products to change the valuation. The oldest purchase price is used as the cost for the next good sold, until an entire lot of that product is sold. When the next inventory lot moves up in the queue, an updated product cost is used based on the valuation of that specific lot." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:107 +msgid "Alternatively, click the :guilabel:`Put in Pack` button on **any** warehouse transfer to create a new package, and place all the items in the transfer in that newly-created package." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:228 -msgid "This method is arguably the most accurate inventory valuation method for a variety of reasons, but it is highly sensitive to input data and human error." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:111 +msgid "The :guilabel:`Put in Pack` button appears on receipts, delivery orders, and other transfer forms with the *Packages* feature enabled in :menuselection:`Inventory app --> Configuration --> Settings`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:256 -msgid "$16" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:118 +msgid "Image of the \"Put in Pack\" button being clicked." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:0 -msgid "-8 * $10" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:118 +msgid "In batch transfer `BATCH/00003`, the :guilabel:`Put in Pack` button was clicked to create a new package, `PACK0000002`, and assign all items to it in the :guilabel:`Destination Package` field." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:0 -msgid "-2 * $16" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:126 +msgid "Create package types by navigating to :menuselection:`Inventory app --> Configuration --> Package Types`, in order to set custom dimensions and weight limits. This feature is mainly used to calculate package weights for shipping costs." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:260 -msgid "$32" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:131 +msgid ":doc:`Shipping carriers <../../shipping_receiving/setup_configuration/third_party_shipper>`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:262 -msgid "$11" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:132 +msgid ":doc:`../../shipping_receiving/setup_configuration`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:265 -msgid "$44" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:134 +msgid "On the :guilabel:`Package Types` list, clicking :guilabel:`New` opens a blank package type form. The fields of the form are as follows:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:271 -msgid "Inventory value is calculated by adding the previous inventory value to the incoming value: :math:`$80 + (4 * $16) = $144`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:137 +msgid ":guilabel:`Package Type` (required): define the package type's name." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:276 -msgid "When delivering ten products, eight units were purchased for $10, and two units were purchased for $16." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:138 +msgid ":guilabel:`Size`: define the dimensions of the package in millimeters (mm). The fields, from left to right, define the :guilabel:`Length`, :guilabel:`Width`, and :guilabel:`Height`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:279 -msgid "First, the incoming value is calculated by multiplying the on-hand quantity by the purchased price: :math:`(-8 * $10) + (-2 * $16) = -112`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:140 +msgid ":guilabel:`Weight`: weight of an empty package (e.g. an empty box, pallet)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:281 -msgid "The inventory value is calculated by subtracting the incoming value from the previous inventory value: :math:`$144 - $112 = $32`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:143 +msgid "Odoo calculates the package's weight by adding the weight of the empty package plus the weight of the item(s), which can be found in the :guilabel:`Weight` field, in the :guilabel:`Inventory` tab, of each product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:283 -msgid "Unit cost is calculated by dividing the inventory value by the remaining quantity: :math:`$32 / 2 = $16`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:147 +msgid ":guilabel:`Max Weight`: maximum shipping weight allowed in the package." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:286 -msgid "When receiving two products for $6, inventory value is :math:`$32 + $12 = $44`. Unit cost is :math:`$44 / 4 = $11`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:148 +msgid ":guilabel:`Barcode`: define a barcode to identify the package type from a scan." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:290 -msgid "Changing the costing method greatly impacts inventory valuation. It is highly recommended to consult an accountant first before making any adjustments here." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:149 +msgid ":guilabel:`Company`: specify a company to make the package type available **only** at the selected company. Leave the field blank if it is available at all companies." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:294 -msgid ":doc:`using_inventory_valuation`" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:151 +msgid ":guilabel:`Carrier`: specify the intended shipping carrier for this package type." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:296 -msgid "When the :guilabel:`Costing Method` is changed, products already in stock that were using the :guilabel:`Standard` costing method **do not** change value; rather, the existing units keep their value, and any product moves from then on affect the average cost, and the cost of the product will change. If the value in the :guilabel:`Cost` field on a product form is changed manually, Odoo generates a corresponding record in the *Inventory Valuation* report." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:152 +msgid ":guilabel:`Carrier Code`: define a code that is linked to the package type." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:303 -msgid "It is possible to use different valuation settings for different product categories." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:-1 +msgid "Package type for FedEx's 25 kilogram box." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:308 -msgid "Types of accounting" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:160 +msgid "Cluster packages" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:310 -msgid "With automated inventory valuation set up, the generated journal entries depend on the chosen accounting mode: *Continental* or *Anglo-Saxon*." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:162 +msgid "To use *cluster packages*, first navigate to :menuselection:`Inventory app --> Configuration --> Settings`, and activate the :guilabel:`Batch Transfers` feature, located in the :guilabel:`Operations` section. Doing so makes the *Package Use* field become visible on a package form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:314 -msgid "Verify the accounting mode by activating the :ref:`developer-mode`, and navigating to :menuselection:`Accounting app --> Configuration --> Settings`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:-1 +msgid "Activate the *Batch Transfers* feature in Inventory > Configuration > Settings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:317 -msgid "Then, in the :guilabel:`Search...` bar, look for `Anglo-Saxon Accounting`, to see if the feature is enabled. If it is **not** enabled, *Continental* accounting mode is in use." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:170 +msgid "Add new packages by going to :menuselection:`Inventory app --> Products --> Packages`. Then, click :guilabel:`New`, or select an existing package. Doing so opens the package form, which contains the following fields:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:0 -msgid "Show the Anglo-Saxon accounting mode feature." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:174 +msgid ":guilabel:`Package Reference` (required): name of the package." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:324 -msgid "In *Anglo-Saxon* accounting, the costs of goods sold (COGS) are reported when products are sold or delivered. This means the cost of a good is only recorded as an expense when a customer is invoiced for a product." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:175 +msgid ":guilabel:`Package Type`: used for :ref:`configuring shipping boxes to ship to the customer `." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:328 -msgid "So, for **manual** valuation method, set the *Expense Account* to *Stock Valuation* for the current asset type; for **automatic** valuation method, set the *Expense Account* to an *Expenses* or a *Cost of Revenue* type (e.g. *Cost of Production*, *Cost of Goods Sold*, etc.)." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:179 +msgid ":guilabel:`Package Type` is unnecessary for configuring packages for cluster pickings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:332 -msgid "In *Continental* accounting, the cost of a good is reported as soon as a product is received into stock. Because of this, the *Expense Account* can be set to **either** *Expenses* or a *Cost of Revenue* type, however, it is more commonly set to an *Expenses* account." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:181 +msgid ":guilabel:`Shipping Weight`: used to input the weight of the package after measuring it on a scale." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:336 -msgid "Refer to the :ref:`Expense ` and :ref:`Stock input/output ` sections for details on configuring each account type." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:183 +msgid ":guilabel:`Company`: specify a company to make the package available **only** at the selected company. Leave the field blank if the package is available at all companies." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:343 -msgid "Expense account" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:185 +msgid ":guilabel:`Location`: current location of the package." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:345 -msgid "To configure the *expense account*, which is used in both manual and automatic inventory valuation, go to the :guilabel:`Account Properties` section of the intended product category (:menuselection:`Inventory app --> Configuration --> Product Categories`). Then, choose an existing account from the :guilabel:`Expense Account` drop-down menu." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:186 +msgid ":guilabel:`Pack Date`: the date the package was created." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:350 -msgid "To ensure the chosen account is the correct :guilabel:`Type,` click the |right arrow| icon to the right of the account. Then, set the account type based on the information below." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:187 +msgid ":guilabel:`Package Use`: choose :guilabel:`Reusable` for packages used for moving products within the warehouse; :guilabel:`Disposable` for packages used to ship products to customers." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:355 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:423 -msgid "Anglo-Saxon" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:-1 +msgid "Display package form to create a cluster pack." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:359 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:386 -msgid "Automated" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:194 +msgid ":doc:`Using cluster packages <../../shipping_receiving/picking_methods/cluster>`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:361 -msgid "In Anglo-Saxon accounting for automated inventory valuation, set the :guilabel:`Expense Account` to the `Expenses` account. Then, click the |right arrow| icon to the right of the account." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:197 +msgid "View packages" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:365 -msgid "In the pop-up window, choose :guilabel:`Expenses` or :guilabel:`Cost of Revenue` from the :guilabel:`Type` drop-down menu." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:199 +msgid "To view all packages go to :menuselection:`Inventory app --> Products --> Packages`. By default, packages are shown in Kanban view, in their current storage location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:0 -msgid "Show **Expense Account** field, and external link icon." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:203 +msgid "Drag-and-drop packages to move them between internal locations." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:372 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:391 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:268 -msgid "Manual" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:-1 +msgid "Packages dashboard." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:374 -msgid "To configure the :guilabel:`Expense Account`, choose :guilabel:`Stock Valuation` from the field's drop-down menu. Verify the account's type by clicking the |right arrow| icon, and then ensure the :guilabel:`Type` is :guilabel:`Current Assets`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:7 +msgid "In Odoo *Inventory*, *packaging* refers to disposable containers holding multiple units of a specific product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:0 -msgid "Show the **Expense Account** field." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:10 +msgid "For example, different packages for cans of soda, such as a 6-pack, a 12-pack, or a case of 36, **must** be configured on the individual product form. This is because packagings are product specific, not generic." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:382 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:441 -msgid "Continental" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:15 +msgid "Packaging can be used in conjunction with Odoo :doc:`Barcode <../../../barcode/setup/software>`. When receiving products from suppliers, scanning the packaging barcode automatically adds the number of units in the packaging to the internal count of the product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:388 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:393 -msgid "Set the :guilabel:`Expense Account` to the :guilabel:`Expenses` or :guilabel:`Cost of Revenue` account type." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:22 +msgid "To use packagings, navigate to :menuselection:`Inventory app --> Configuration --> Settings`. Then, under the :guilabel:`Products` heading, enable the :guilabel:`Units of Measure & Packagings` feature, and click :guilabel:`Save`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:399 -msgid "Stock input/output (automated only)" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:-1 +msgid "Enable packagings by selecting Units of Measure & Packagings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:401 -msgid "To configure the :guilabel:`Stock Input Account` and :guilabel:`Stock Output Account`, go to :menuselection:`Inventory app --> Configuration --> Product Categories` and select the desired product category." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:33 +msgid "Create packaging" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:405 -msgid "In the :guilabel:`Inventory Valuation` field, select :guilabel:`Automated`. Doing so makes the :guilabel:`Account Stock Properties` section appear. These accounts are defined as follows:" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:35 +msgid "Packagings can be created directly on the product form, or from the :guilabel:`Units & Packagings` page." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:408 -msgid ":guilabel:`Stock Valuation Account`: when automated inventory valuation is enabled on a product, this account will hold the current value of the products." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:39 +msgid "From product form" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:410 -msgid ":guilabel:`Stock Journal`: accounting journal where entries are automatically posted when a product's inventory valuation changes." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:41 +msgid "Create packagings on a product form by going to :menuselection:`Inventory app --> Products --> Products`, and select the desired product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:412 -msgid ":guilabel:`Stock Input Account`: counterpart journal items for all incoming stock moves will be posted in this account, unless there is a specific valuation account set on the source location. This is the default value for all products in a given category, and can also be set directly on each product." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:44 +msgid "To specify a sales packaging, open the :guilabel:`Sales` tab, then specify :guilabel:`Packagings` in the :guilabel:`Upsell & Cross-Sell` section. Specify existing packagings or create new ones by clicking :guilabel:`Create and edit`. When :guilabel:`Create and edit` is clicked, a :guilabel:`Create Packagings` box opens, where information about the packaging can be specified:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:416 -msgid ":guilabel:`Stock Output Account`: counterpart journal items for all outgoing stock moves will be posted in this account, unless there is a specific valuation account set on the destination location. This is the default value for all products in a given category, and can also be set directly on each product." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:49 +msgid ":guilabel:`Unit Name` (required): name of packaging that appears on sales/purchase orders as a packaging option for the product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:425 -msgid "In Anglo-Saxon accounting, the :guilabel:`Stock Input Account` and :guilabel:`Stock Output Account` are set to *different* :guilabel:`Current Assets` accounts. This way, delivering products and invoicing the customer balance the *Stock Output* account, while receiving products and billing vendors balance the *Stock Input* account." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:51 +msgid ":guilabel:`Quantity` (required): amount of product in the packaging." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:430 -msgid "To modify the account type, go to the click the |right arrow| icon to the right of the stock input/output account. In the pop-up window, choose :guilabel:`Current Assets` from the :guilabel:`Type` drop-down menu." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:52 +msgid ":guilabel:`Reference Unit` (required): measurement unit for quantifying the product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:0 -msgid "Display account setup page, highlighting the **Type** field." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:53 +msgid ":guilabel:`Package Type`: package type used to set custom dimensions and limits. See :ref:`package type ` to learn more." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:438 -msgid "The *Stock Input* account is set to `Stock Interim (Received)`, a *Current Asset* account type." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:55 +msgid ":guilabel:`Barcodes`: identifier for tracing packaging in stock moves or pickings, using the :ref:`Barcode app `. Leave blank if not in use." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:443 -msgid "In Continental accounting, the :guilabel:`Stock Input Account` and :guilabel:`Stock Output Account` are set to **the same** :guilabel:`Current Assets` account. That way, one account can be balanced when items are bought and sold." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:-1 +msgid "Create a new packaging in the Create Packagings box." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:448 -msgid "The stock input and output accounts are both set to `Stock Interim (Received)`, a :guilabel:`Current Assets` account type. They can also be set to the `Stock Interim (Delivered)`, as long as the input and output accounts are assigned to the **same** account." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:61 +msgid "To specify a purchase packaging for a vendor, open the :guilabel:`Purchase` tab, then add a vendor. Update the :guilabel:`Unit` field to specify a purchase packaging for that vendor. Specify existing packagings here, or create new ones by clicking :guilabel:`Create and edit`. When :guilabel:`Create and edit` is clicked, the :guilabel:`Create Unit` box opens. The fields in this box are the same as for the :guilabel:`Create Packagings` box above." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:0 -msgid "Show the Stock Input and Output accounts." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:68 +msgid "To create a purchase packaging type for six units of the product, `Grape Soda`, begin by clicking :guilabel:`Add a line` in the :guilabel:`Purchase` tab. Specify a :guilabel:`Vendor`. Specify `6-pack` in the :guilabel:`Unit` field, then click :guilabel:`Create and edit`. In the :guilabel:`Create Unit` box, specify a quantity and reference unit (in this case, `6` `Units`), then click :guilabel:`Save`. Repeat this process for additional packagings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:458 -msgid "Inventory valuation reporting" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:0 +msgid "Create purchase packagings for product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:460 -msgid "To start, go to :menuselection:`Accounting app --> Reporting --> Balance Sheet`. Click the :guilabel:`Current Assets` line item to unfold the drop-down menu, and look for the nested :guilabel:`Stock Valuation`, :guilabel:`Stock Interim (Received)`, and :guilabel:`Stock Interim (Delivered)` lines." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:78 +msgid "From units & packagings page" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:466 -msgid "At the top of the dashboard, click the :guilabel:`As of [date]` button to display accounting records up to a specified date." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:80 +msgid "To view all packagings that have been created, go to :menuselection:`Inventory app --> Configuration --> Units & Packagings`. Doing so reveals the :guilabel:`Units & Packagings` page with a complete list of all packagings that have been created for all products. Create new packagings by clicking :guilabel:`New`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:470 -msgid ":ref:`Stock accounts and what they do `" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:86 +msgid "Two soda products, `Grape Soda` and `Diet Coke`, have three types of packagings configured. On the :guilabel:`Units & Packagings` page, each product can be sold as a `6-Pack` that contains 6 products, as a `12-Pack` of 12 products, or as a `Case` of 32 products." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:471 -msgid ":doc:`../../../../finance/accounting/get_started/cheat_sheet`" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:0 +msgid "List of different packagings for products." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:-1 -msgid "See the full inventory valuation breakdown in Odoo Accounting app." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:94 +msgid "Partial reservation" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:477 -msgid "Access more specific information by clicking the :icon:`fa-ellipsis-v` :guilabel:`(ellipsis)` icon to the right of the desired journal. Select :guilabel:`General Ledger` to see a list of all of the journal entries, where each line item's :icon:`fa-ellipsis-v` :guilabel:`(ellipsis)` icon can be clicked to reveal the :guilabel:`View Journal Entry` option to open the individualized journal entry." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:96 +msgid "After :ref:`completing the packaging setup `, packagings can be reserved in full or partial quantities for outgoing shipments. Partial packaging flexibility expedites order fulfillment by allowing the immediate shipment of available items, while awaiting the rest." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:483 -msgid "Additionally, annotations to the :guilabel:`Balance Sheet` can be added by choosing :guilabel:`Annotate`, filling in the text box, and clicking :guilabel:`Save`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:101 +msgid "To configure packaging reservation methods, go to :menuselection:`Inventory app --> Configuration --> Products --> Categories`. Then, click :guilabel:`New`, or select the desired product category." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:-1 -msgid "Show Stock Valuation journals in a list." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:104 +msgid "On the product category's form, in the :guilabel:`Logistics` section, :guilabel:`Reserve Packagings` can be set to :guilabel:`Reserve Only Full Packagings` or :guilabel:`Reserve Partial Packagings`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:3 -msgid "Landed costs" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:108 +msgid "To see the :guilabel:`Reserve Packaging` field, the :guilabel:`Product Packaging` feature **must** be enabled. To enable this feature, go to :menuselection:`Inventory app --> Configuration --> Settings`, scroll to the :guilabel:`Products` section, tick the :guilabel:`Product Packagings` checkbox, and click :guilabel:`Save`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:-1 +msgid "Show Reserve Packagings field on the product categories page." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:13 -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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:118 +msgid "To better evaluate the options based on business needs, consider the following example:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:20 -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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:120 +msgid "a product is sold in twelve units per packaging." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:24 -msgid "Tick the checkbox next to the :guilabel:`Landed Costs` option, and click :guilabel:`Save` to save changes." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:121 +msgid "an order demands two packagings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:27 -msgid "Once the page refreshes, a new :guilabel:`Default Journal` field appears below the :guilabel:`Landed Costs` feature in the :guilabel:`Valuation` section." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:122 +msgid "there are only twenty-two units in stock." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:30 -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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:124 +msgid "When :guilabel:`Reserve Only Full Packagings` is selected, only twelve units are reserved for the order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:-1 -msgid "Landed Costs feature and resulting Default Journal field in the Inventory settings." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:127 +msgid "Conversely, when :guilabel:`Reserve Partial Packagings` is selected, twenty-two units are reserved for the order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:37 -msgid "Create landed cost product" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:131 +msgid "Apply packagings" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/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/product_management/configure/packaging.rst:133 +msgid "When creating a sales order in the :menuselection:`Sales` app, specify the packagings that should be used for the product. The chosen packaging is displayed on the :abbr:`SO (Sales Order)` under the :guilabel:`Units` field." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:43 -msgid "To do this, create a new product by going to :menuselection:`Inventory app --> Products --> Products`, and clicking :guilabel:`New`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:138 +msgid "18 cans of the product, `Grape Soda`, is packed using three 6-pack packagings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/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/product_management/configure/packaging.rst:0 +msgid "Assign packagings on the Sales Order Line." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:51 -msgid "Landed cost products **must** have their :guilabel:`Product Type` set to :guilabel:`Service`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:3 +msgid "Product type" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:53 -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:" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:7 +msgid "In Odoo, goods and services are both set up as *products*. When setting up a new product, there are several fields that should be carefully chosen, as they determine how to invoice and track a business' goods or services." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:57 -msgid ":guilabel:`Equal`: splits the cost equally across each product included in the receipt, regardless of the quantity of each." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:11 +msgid "To configure an existing product, go to :menuselection:`Inventory app --> Products --> Products`, and select the desired product from the list. Alternatively, from the :guilabel:`Products` menu, click :guilabel:`New` to create a new product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:59 -msgid ":guilabel:`By Quantity`: splits the cost across each unit of all products in the receipt." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:16 +msgid "`Odoo Tutorials: Product Type `_" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:60 -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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:21 +msgid "For sale vs. purchase" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:62 -msgid ":guilabel:`By Weight`: splits the cost, according to the weight of the products in the receipt." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:23 +msgid "Goods and services can be designated as those that can be bought, sold, or both. On the product form, tick the :guilabel:`Sales` checkbox if a product can be *sold* to a customer (e.g. finished goods). Tick :guilabel:`Purchase` if the product can be *purchased* (e.g. raw materials)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:63 -msgid ":guilabel:`By Volume`: splits the cost, according to the volume of the products in the receipt." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:28 +msgid "If a resale clothing shop buys discounted denim jackets and sells them at a higher cost to the end consumer, the `Jacket` product form might have *both* the :guilabel:`Sales` and :guilabel:`Purchase` checkbox ticked." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:-1 -msgid "Is a Landed Cost checkbox and Default Split Method on service type product form." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:32 +msgid "On the other hand, say the store occasionally sews new jackets using denim and thread as raw materials. In the `Denim` and `Thread` product forms, only :guilabel:`Purchase` should be ticked, whereas the `Handmade Jacket` product form would only tick :guilabel:`Sales`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/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/product_management/configure/type.rst:37 +msgid "Goods vs. services" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:71 -msgid "To apply a landed cost on a vendor bill, products in the original |PO| **must** belong to a *Product Category* with a *Costing Method* of either |AVCO| or |FIFO|, and the valuation method can be :doc:`manual ` or :doc:`automatic `." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:39 +msgid "When configuring a product, a :guilabel:`Product Type` needs to be selected on the :guilabel:`General Information` tab of a product form. Each product type impacts different operations in other Odoo applications, such as **Sales** and **Purchase**, and should be chosen carefully." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:77 -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:54 -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:77 -msgid "Create purchase order" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:44 +msgid ":guilabel:`Goods`: a tangible, material object (e.g. anything from a hamburger to a house)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:79 -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|." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:45 +msgid ":guilabel:`Service`: an intangible, immaterial offering (e.g., a repair, a haircut, call center assistance)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:83 -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`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:47 +msgid ":guilabel:`Combo`: any mix of goods and services (e.g. a new car (*good*) with an oil change included (*service*))" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:87 -msgid "Create vendor bill" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:51 +msgid "Due to their immaterial nature, services are not trackable in Odoo's **Inventory** application." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:89 -msgid "Once the vendor fulfills the |PO| and sends a bill, a vendor bill can be created from the |PO| in Odoo." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:56 +msgid "Configure goods" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:92 -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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:58 +msgid "Selecting :guilabel:`Goods` as the :guilabel:`Product Type` automatically triggers the appearance of a few fields and tabs in the product form:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:96 -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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:61 +msgid ":guilabel:`Inventory` tab: From here, :doc:`purchasing and manufacturing routes <../../shipping_receiving/daily_operations/use_routes>` and product logistics, such as product weight and customer lead time, can be specified." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:99 -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/product_management/configure/type.rst:64 +msgid ":ref:`Invoicing Policy ` field: This field determines at what point in the sales process a customer is invoiced." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:-1 -msgid "Landed Costs column checkboxes for product and landed cost." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:68 +msgid "The :guilabel:`Invoicing Policy` field **only** appears if the **Sales** app is installed." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:107 -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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:70 +msgid ":ref:`Track Inventory ` field: This checkbox determines whether Odoo tracks inventory for this product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:111 -msgid "Additionally, at the top of the form, a :guilabel:`Create Landed Costs` button appears." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:72 +msgid "Smart buttons: Some smart buttons appear above the form when :guilabel:`Goods` is selected; others show upon selecting a :guilabel:`Track Inventory` method. For example, :guilabel:`On Hand` and :guilabel:`Forecasted` display when :guilabel:`Track Inventory` is ticked. In general, most smart buttons on a product form link to :ref:`inventory operations `." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:-1 -msgid "Create Landed Costs button on vendor bill." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:-1 +msgid "Designate a product as a good or service." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:117 -msgid "Add landed cost" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:84 +msgid "Invoicing policy" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:119 -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/product_management/configure/type.rst:86 +msgid "The :guilabel:`Invoicing policy` field only shows on the product form if a product is for sale (in other words, if :guilabel:`Sales` is ticked, and the **Sales** app is installed)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:122 -msgid "Doing so automatically creates a landed cost record, with a set landed cost pre-filled in the product line in the :guilabel:`Additional Costs` tab." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:89 +msgid "When configuring a product for sale, it is necessary to choose an :doc:`invoicing policy <../../../../sales/sales/invoicing/invoicing_policy>`. When an invoicing policy of :guilabel:`Ordered quantities` is selected, customers are invoiced once the sales order is confirmed. When :guilabel:`Delivered quantities` is selected, customers are invoiced once the delivery is completed." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:125 -msgid "From the :guilabel:`Landed Cost` form, click the :guilabel:`Transfers` drop-down menu, and select which transfer the landed cost belongs to." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:98 +msgid "Tracked vs. untracked goods" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:-1 -msgid "Landed cost form with selected receipt transfer." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:100 +msgid "The :guilabel:`Track Inventory` field on the product form determines a lot of Odoo's **Inventory** operations." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:132 -msgid "In addition to creating landed costs directly from a vendor bill, landed cost records can *also* be created by navigating to :menuselection:`Inventory app --> Operations --> Landed Costs`, and clicking :guilabel:`New`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:103 +msgid "*Tracked* products are those for which stock and inventory are maintained. Examples include finished goods and, often, the raw materials or components needed to make them." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:136 -msgid "After setting the picking from the :guilabel:`Transfers` drop-down menu, click :guilabel:`Compute` (at the bottom of the form, under the :guilabel:`Total:` cost)." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:106 +msgid "When :guilabel:`Track Inventory` is ticked, a drop-down menu appears, offering for inventory to be tracked one of three ways: :guilabel:`By Unique Serial Number`, :guilabel:`By Lots`, or :guilabel:`By Quantity`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:139 -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|." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:-1 +msgid "Configure a tracked good." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:144 -msgid "Once ready, click :guilabel:`Validate` to post the landed cost entry to the accounting journal." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:113 +msgid "*Untracked* products (sometimes referred to as *non-inventory* products) are typically consumed in a short period of time, meaning that stock/inventory does *not* need to be maintained. Non-inventory products are often essential, but exact counts are unnecessary. Examples include: office supplies, packaging materials, or items used in production that do not need to be individually tracked." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:146 -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/product_management/configure/type.rst:119 +msgid "Tick the :guilabel:`Track Inventory` checkbox if it is necessary to track a product's stock at various locations, for inventory valuation, with lots and/or serial numbers, or when using reordering rules." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:151 -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/product_management/configure/type.rst:124 +msgid ":doc:`Tracking storable products using lot and serial numbers <../product_tracking>`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:154 -msgid "To view the valuation of *every* product, including landed costs, navigate to :menuselection:`Inventory app --> Reporting --> Valuation`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:129 +msgid "Inventory operations by product type" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:158 -msgid "Each journal entry created for a landed cost on a vendor bill can be viewed in the *Accounting* app." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:131 +msgid ":ref:`Whether a good is tracked or untracked ` affects common **Inventory** operations, like transfers and reordering rules." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:161 -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`)." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:134 +msgid "The table below summarizes which operations (and smart buttons) are enabled for tracked vs. untracked goods. Click highlighted chart items to navigate to detailed sections and related documents." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:164 -msgid "Click into the journal entry to view the :guilabel:`Journal Items`, and other information about the entry." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:142 +msgid "Inventory operation" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs.rst:0 -msgid "Journal Entry form for landed cost created from vendor bill." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:143 +msgid "Tracked" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:3 -msgid "Using inventory valuation" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:144 +msgid "Untracked" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:7 -msgid "*Inventory valuation* is a quintessential accounting procedure that calculates the value of on-hand stock. Once determined, the inventory valuation amount is then incorporated into a company's overall value." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:145 +msgid ":ref:`Show on-hand quantity `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:11 -msgid "In Odoo, this process can be conducted manually— by warehouse employees physically counting the products— or automatically through the database." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:146 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:149 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:152 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:155 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:156 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:158 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:162 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:163 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:165 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:168 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:171 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:172 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:174 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:177 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:178 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:180 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:181 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:183 +msgid "Yes" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:17 -msgid "To use Odoo to automatically generate a trail of inventory valuation entries, first navigate to the :menuselection:`Product Categories` list by going to :menuselection:`Inventory app --> Configuration --> Product Categories` and select the desired product category. On the form, set the :guilabel:`Inventory Valuation` as :guilabel:`Automated` and the :guilabel:`Costing Method` to any of the three options." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:147 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:150 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:153 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:159 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:166 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:169 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:175 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:184 +msgid "No" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:24 -msgid ":doc:`Set up inventory valuation `" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:148 +msgid ":ref:`Show forecasted quantity `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:26 -msgid "In order to understand how moving products in and out of stock affects the company's overall value, consider the following product and stock moves scenario below." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:151 +msgid ":ref:`Use reordering rules `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:30 -msgid "Receive a product" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:154 +msgid ":ref:`Can be included in a purchase order `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:32 -msgid "To track the value of incoming products, such as a simple *table*, configure the product category on the the product itself. To get there, navigate to :menuselection:`Inventory app --> Products --> Products` and click the desired product. On the product form, click the :guilabel:`➡️ (right arrow)` icon beside the :guilabel:`Product Category` field, which opens an internal link to edit the product category. Next, set the :guilabel:`Costing Method` as :guilabel:`First In First Out (FIFO)` and :guilabel:`Inventory Valuation` as :guilabel:`Automated`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:157 +msgid ":ref:`Use putaway rules `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:40 -msgid "Alternatively access the :guilabel:`Product Categories` dashboard by navigating to :menuselection:`Inventory app --> Configuration --> Product Categories` and select the desired product category." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:160 +msgid ":ref:`Can be manufactured, subcontracted, or used in another good's BoM `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:44 -msgid "Next, assume 10 tables are purchased at a price of $10.00, each. The :abbr:`PO (Purchase Order)` for those tables will show the subtotal of the purchase as $100, plus any additional costs or taxes." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:164 +msgid ":doc:`Use inventory adjustments <../../warehouses_storage/inventory_management/count_products>`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:-1 -msgid "Purchase order with 10 tables products valued at $10.00 each." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:167 +msgid ":doc:`Use inventory valuation <../../inventory_valuation/cheat_sheet>`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:51 -msgid "After selecting :guilabel:`Validate` on the :abbr:`PO (Purchase Order)`, the :guilabel:`Valuation` smart button is enabled. Clicking on this button displays a report showing how the inventory valuation for the table was affected by this purchase." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:170 +msgid ":ref:`Create transfer `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:56 -msgid ":ref:`Developer mode ` **must** be turned on to see the :guilabel:`Valuation` smart button." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:173 +msgid ":doc:`Use lot/serial number tracking <../product_tracking>`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:60 -msgid "The :doc:`consignment <../../shipping_receiving/daily_operations/owned_stock>` feature allows ownership to items in stock. Thus, products owned by other companies are not accounted for in the host company's inventory valuation." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:176 +msgid ":doc:`Can be placed in a kit <../../../manufacturing/advanced_configuration/kit_shipping>`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:-1 -msgid "See Valuation smart button on a receipt, with Developer mode enabled." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:179 +msgid ":ref:`Can be placed in a package `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:68 -msgid "For a comprehensive dashboard that includes the inventory valuation of all product shipments, inventory adjustments, and warehouse operations, refer to the :ref:`stock valuation report `." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:182 +msgid ":ref:`Appears on inventory reports `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:73 -msgid "Deliver a product" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:192 +msgid "On-hand and forecasted quantities" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:75 -msgid "In the same logic, when a table is shipped to a customer and leaves the warehouse, the stock valuation decreases. The :guilabel:`Valuation` smart button on the :abbr:`DO (Delivery Order)`, likewise, displays the stock valuation record as it does on a :abbr:`PO (Purchase Order)`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:194 +msgid "A tracked product's on-hand and forecasted quantities, based on incoming and outgoing orders, are reflected on the product form with two smart buttons:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:-1 -msgid "Decreased stock valuation after a product is shipped." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:197 +msgid ":icon:`fa-cubes` :guilabel:`On-Hand Quantity`: This represents the number of units currently available in inventory. Click the button to view or add stock levels for a tracked product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:86 -msgid "Inventory valuation report" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:199 +msgid ":icon:`fa-area-chart` :guilabel:`Forecasted`: This represents the number of units *expected* to be available in inventory after all orders are taken into account. In other words, :math:`\\text{forecasted} = \\text{on hand quantity} + \\text{incoming shipments} - \\text{outgoing shipments}`. Click the button to view the :guilabel:`Forecasted Report`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:88 -msgid "To view the current value of all products in the warehouse, first turn on :ref:`Developer mode ` and navigate to :menuselection:`Inventory app --> Reporting --> Valuation`. The :guilabel:`Stock Valuation` dashboard displays detailed records of products with the :guilabel:`Date`, :guilabel:`Quantity`, :guilabel:`Unit Value`, and :guilabel:`Total Value` of the inventory." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:204 +msgid "On the other hand, untracked products are regarded as *always* available. Consequently, :guilabel:`On-Hand Quantity` is not tracked, and there is no :guilabel:`Forecasted` quantity available." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:95 -msgid ":ref:`Developer mode ` **must** be enabled to see the :guilabel:`Valuation` option under :guilabel:`Reporting`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:211 +msgid "Putaway rules and storage" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:-1 -msgid "Inventory valuation report showing multiple products." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:213 +msgid "Both tracked and untracked goods can optimize storage using:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:102 -msgid "The :guilabel:`Valuation At Date` button, located in the top-left corner of the :guilabel:`Stock Valuation` page, reveals a pop-up window. In this pop-up, the inventory valuation of products available during a prior specified date can be seen and selected." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:215 +msgid ":icon:`fa-random` :doc:`Putaway Rules <../../shipping_receiving/daily_operations/putaway>`: This represents putaway rules that apply to a good, such as where to store it when a new shipment arrives." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:107 -msgid "View a detailed record of a product's inventory value, stock move, and on-hand stock by selecting the teal :guilabel:`➡️ (right arrow)` button to the right of the :guilabel:`Reference` column value." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:218 +msgid ":icon:`fa-cubes` :doc:`Storage Capacities <../../shipping_receiving/daily_operations/storage_category>`: This represents any storage capacity limitations specified for this good. For example, a warehouse may require that only ten (or less) sofas be stored there at any given time, due to their large size." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:114 -msgid "Update product unit price" +#: ../../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 +msgid "Replenishment" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:116 -msgid "For any company: lead times, supply chain failures, and other risk factors can contribute to invisible costs. Although Odoo attempts to accurately represent the stock value, *manual valuation* serves as an additional tool to update the unit price of products." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:230 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:3 +msgid "Reordering rules" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:121 -msgid "Manual valuation is intended for products that can be purchased and received for a cost greater than 0, or have product categories set with :guilabel:`Costing Method` set as either :guilabel:`Average Cost (AVCO)` or :guilabel:`First In First Out (FIFO)`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:232 +msgid "Only tracked products can trigger :doc:`reordering rules <../../warehouses_storage/replenishment/reordering_rules>` to generate purchase orders. Untracked goods *cannot* be managed using reordering rules." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:-1 -msgid "Add manual valuation of stock value to a product." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:236 +msgid "Reordering rules can be configured directly on the product form via the :icon:`fa-refresh` :guilabel:`(refresh)` icon." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:129 -msgid "Create manual valuation entries on the :guilabel:`Stock Valuation` dashboard by first navigating to :menuselection:`Inventory app --> Reporting --> Valuation`. Next, to enable the *product revaluation* feature, select :menuselection:`Group by --> Product` to organize all the records by product. Click on the gray :guilabel:`▶️ (drop-down triangle)` icon to reveal stock valuation line items below, as well as a teal :guilabel:`➕ (plus)` button on the right." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:240 +msgid "If reordering rules already exist on a product, Odoo re-labels this button to :guilabel:`Min / Max`, to show the minimum and maximum number of units that must be in stock." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:135 -msgid "Click the teal :guilabel:`+ (plus)` button to open up the :guilabel:`Product Revaluation` form. Here, the inventory valuation for a product can be recalculated, by increasing or decreasing the unit price of each product." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:246 +msgid "Create purchase orders" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:140 -msgid "The :guilabel:`▶️ (drop-down triangle)` and :guilabel:`➕ (plus)` buttons are only visible after grouping entries by product." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:248 +msgid "Both tracked and untracked products can be included in a request for quotation in the **Purchase** app. However, when receiving untracked products, their on-hand quantity does not change upon validating the receipt (`WH/IN`)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:-1 -msgid "Product revaluation form adding a value of $1.00 with the reason being inflation." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:253 +msgid "Replenish smart button" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:148 -msgid "Inventory valuation journal entries" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:255 +msgid "The :guilabel:`Replenish` smart button allows all goods to be restocked directly from the product form, according to the *Preferred Route*." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:150 -msgid "In Odoo, automatic inventory valuation records are also recorded in the :menuselection:`Accounting app --> Accounting --> Journal Entries` dashboard. On this comprehensive list of accounting entries, inventory valuation records are identified by checking values in the :guilabel:`Journal` column, or looking for the :guilabel:`Reference` column value which matches the warehouse operation reference (e.g. `WH/IN/00014` for receipts)." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:259 +msgid ":doc:`Replenishment <../../warehouses_storage/replenishment>` `Odoo Tutorials: Replenishment Methods for Manufacturing `_" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:156 -msgid "Clicking on an inventory valuation journal entry opens a *double-entry accounting* record. These records are generated by Odoo to track the change of value in inventory valuation as products are moved in and out of the warehouse." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:266 +#: ../../content/applications/inventory_and_mrp/manufacturing.rst:7 +msgid "Manufacturing" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:161 -msgid "To view the inventory valuation of 10 *tables*, costing $10.00 each, upon reception from the vendor, go to the :menuselection:`Journal Entries` page found in :menuselection:`Accounting app --> Accounting --> Journal Entries`. Here, click the journal line where the :guilabel:`Reference` column value matches the reference on the receipt, `WH/IN/00014`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:268 +msgid "Both tracked and untracked products can be manufactured, :doc:`subcontracted <../../../manufacturing/subcontracting>`, or included in another product's :doc:`bill of materials (BoM) <../../../manufacturing/basic_setup/bill_configuration>`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:0 -msgid "Stock valuation page depicting the products within a shipment." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:274 +msgid "On the product form for a tracked or untracked good, there are several smart buttons that may appear for manufacturing operations:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:170 -msgid "`Stock interim` is a holding account for money intended to pay vendors for the product. The `stock valuation` account stores the value of all on-hand stock." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:277 +msgid ":icon:`fa-flask` :guilabel:`Bill of Materials`: This shows the BoMs used to make this product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:0 -msgid "Accounting entry for the inventory valuation of 10 tables." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:278 +msgid ":icon:`fa-level-up` :guilabel:`Used In`: This shows other goods that include this product in their BoM." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation.rst:178 -msgid "`Odoo Tutorial: Inventory Valuation `_" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:284 +msgid "Transfer goods" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:3 -msgid "Valuation by lots/serial numbers" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:286 +msgid "*Transfers* are warehouse operations that involve the movement of goods. Examples of transfers include :doc:`deliveries and receipts <../../shipping_receiving/daily_operations/receipts_delivery_one_step>`, as well as :doc:`internal transfers <../../warehouses_storage/replenishment/resupply_warehouses>` between warehouses." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:5 -msgid "Track :doc:`inventory valuation ` by :doc:`lots or serial numbers <../../product_management/product_tracking>` to:" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:292 +msgid "When creating a transfer for tracked products in the **Inventory** app, transfers modify the on-hand quantity at each location. For example, transferring five units from the internal location `WH/Stock` to `WH/Packing Zone` decreases the recorded quantity at `WH/Stock` and increases it at `WH/Packing Zone`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:8 -msgid ":ref:`Compare and differentiate purchasing cost `, based on lot or serial numbers." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:297 +msgid "For untracked products, transfers can be created, but exact quantities at each storage location are not tracked." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:10 -msgid "Track the actual cost of manufactured products, based on the real cost of each tracked component used." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:305 +msgid "Both tracked and untracked (non-inventory), products can be placed in :doc:`packages `." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/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>`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:307 +msgid "However, for non-inventory products, the quantity is not tracked, and the product is not listed in the package's :guilabel:`Contents` (which can be accessed by going to :menuselection:`Inventory app --> Products --> Packages`, and selecting the desired package)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:16 -msgid "Please read this :doc:`introduction to inventory valuation ` before setting up valuation by lot/serial numbers." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:314 +msgid "Show Packages page, containing the package contents list." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:22 -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`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:314 +msgid "An untracked product was placed in the package, but the **Content** section does not list it." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:27 -msgid "On the product form, in the :guilabel:`Category` field, choose a product category. Ensure the product category's :ref:`Costing Method ` is set to *First In First Out (FIFO)* or *Average Cost (AVCO)*." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:316 +msgid "Additionally, if the *Move Entire Packages* feature is enabled, moving a package updates the location of the contained tracked products but not the contained untracked products. To enable this feature, navigate to :menuselection:`Inventory app --> Configuration --> Operations Types`, select any operation, and tick the :guilabel:`Move Entire Packages` checkbox." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:32 -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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:324 +msgid "Inventory reports" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:36 -msgid ":ref:`Costing methods `" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:326 +msgid "**Only** tracked products appear on the following reports." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:38 -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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:329 +msgid "These reports are only available to users with :doc:`administrator access <../../../../general/users/access_rights>`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:42 -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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:332 +msgid ":doc:`Stock report <../../warehouses_storage/reporting/stock>`: This report provides a comprehensive list of all on-hand, unreserved, incoming, and outgoing tracked inventory. To access the report, go to :menuselection:`Inventory app --> Reporting --> Stock`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:48 -msgid "Product form showing the Valuation by Lot or Serial Number feature." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:335 +msgid ":doc:`Location report <../../warehouses_storage/reporting/locations>`: This report shows a breakdown of which tracked products are held at each location (internal, external, or virtual). The report is only available with the *Storage Location* feature activated (:menuselection:`Inventory app --> Configuration --> Settings`). To access it, go to :menuselection:`Inventory app --> Reporting --> Locations`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:48 -msgid "Product form showing the Valuation by Lot or Serial Number feature" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:340 +msgid ":doc:`Moves History report <../../warehouses_storage/reporting/moves_history>`: This report summarizes where and when this good has moved in/out of stock. To access the report, go to :menuselection:`Inventory app --> Reporting --> Moves History`. Alternatively, click the :icon:`fa-exchange` :guilabel:`In / Out` smart button on a product form to filter the report on that product's specific moves history." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:51 -msgid "Valuation layers" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:345 +msgid ":guilabel:`Moves Analysis`: This report provides a pivot table view of inventory transfers by operation type." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:53 -msgid "To understand how valuation by lots and serial numbers works, consider these scenarios:" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:347 +msgid ":ref:`Stock Valuation report `: A detailed record of the monetary value of all tracked inventory." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:55 -msgid ":ref:`Purchase and sell products `: cost is calculated based on the *product category's* costing method." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:3 +msgid "Units of measure" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:57 -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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:11 +msgid "In some cases, handling products in different units of measure is necessary. For example, a business can buy products from a country that uses the metric system, and then sell those products in a country that uses the imperial system. In that case, the business needs to convert the units." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:60 -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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:15 +msgid "Another case for unit conversion is when a business buys products in a big pack from a supplier, and then sells those products in individual units." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:64 -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:" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:18 +msgid "Odoo can be set up to use different *units of measure (UoM)* for one product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:67 -msgid ":math:`Avg~Cost = \\frac{Total~Value}{Total~Qty}`" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:23 +msgid "To use different units of measure in Odoo, first go to :menuselection:`Inventory app --> Configuration --> Settings`, and under the :guilabel:`Products` section, activate the :guilabel:`Units of Measure & Packagings` setting. Then, click :guilabel:`Save`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:72 -msgid "Purchase products" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:-1 +msgid "Enable Units of Measure & Packagings in the Inventory settings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:74 -msgid "Consider how purchasing products affect the inventory valuation, in the table below." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:31 +msgid "Configure units of measure" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:82 -msgid "Lot number" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:33 +msgid "To set units of measure on a product, first go to :menuselection:`Inventory app --> Products --> Products` and select a product to open its product form page." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:83 -msgid "Math" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:37 +msgid "Inventory unit of measure" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:84 -msgid "Average cost on product form" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:39 +msgid "The inventory unit of measure specifies how inventory is measured. For example, track inventory of blue fabric in yards. This unit of measure is also used to track internal transfers." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:85 -msgid "Empty stock" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:42 +msgid "To specify what unit the product is inventoried in, update the second field of the :guilabel:`Sales Price` or :guilabel:`Cost` fields." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:86 -msgid "0.00" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:-1 +msgid "Edit the inventory unit of measure in the \"Sales Price\" or \"Cost\" fields." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:90 -msgid "Day 1: Receive one product at $10/unit" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:49 +msgid "The :guilabel:`Sales Price` and :guilabel:`Cost` units of measure cannot be updated independently of each other. When one unit of measure is updated, the other unit of measure automatically updates to use the same unit of measure." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:91 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:96 -msgid "1.00" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:54 +msgid "Sales unit of measure (packagings)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:92 -msgid "LOT 1" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:56 +msgid "Units of measure that the product is sold in are considered packagings. To define these packagings, open the :guilabel:`Sales` tab of the product, and then in the :guilabel:`Upsell & Cross-Sell` section, add a packaging to the :guilabel:`Packagings` field. Multiple packagings can be specified for each product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:93 -msgid ":math:`\\frac{10}{1}`" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:-1 +msgid "Add a packaging to the \"Sales\" tab of the product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:95 -msgid "Day 2: Receive another product at $20/unit" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:65 +msgid ":doc:`Packaging `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:97 -msgid "LOT 2" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:68 +msgid "Purchase unit of measure" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:98 -msgid ":math:`\\frac{10+20}{2}`" +#: ../../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." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:99 -msgid "$15" +#: ../../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/inventory_valuation/valuation_by_lots.rst:104 -msgid "Show Cost on the product form." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:80 +msgid "Unit conversion" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:104 -msgid "As a result, the product form displays an average cost of $15 in the **Cost** field." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:82 +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/inventory_valuation/valuation_by_lots.rst:109 -msgid "Create new lot/serial number" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:85 +msgid "This occurs in various scenarios, including:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:111 -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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:87 +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/inventory_valuation/valuation_by_lots.rst:115 -msgid "To make an inventory adjustment, and assign a lot number, go to :menuselection:`Inventory app --> Operations --> Physical Inventory`. Then, click :guilabel:`New`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:89 +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/inventory_valuation/valuation_by_lots.rst:118 -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`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:92 +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/inventory_valuation/valuation_by_lots.rst:122 -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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:99 +msgid "Buy products in the purchase UoM" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:126 -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`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:101 +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 "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:0 -msgid "Show inventory adjustment valuation." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:107 +msgid "After the |RFQ| is confirmed into a |PO|, click the :guilabel:`Receipt` smart button at the top of the |PO|." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:135 -msgid "Existing lot/serial number" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:110 +msgid "Odoo automatically converts the purchase unit of measure into the product's sales/inventory unit of measure, so the :guilabel:`Demand` column of the delivery receipt shows the converted quantity." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:137 -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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:114 +msgid "When the product's purchase :guilabel:`Unit` is `m` (meters), and its inventory unit of measure is `yard`, the |PO| shows the quantity in meters, and the receipt (and other internal warehouse documents) shows the quantity in yards." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:141 -msgid "Continuing the example in the table above, the value for `LOT 1` is `$10`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:0 +msgid "Image of a purchase order that is using the purchase unit of measure." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:143 -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`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:121 +msgid "An order of 10 quantities is placed using the purchase \"Unit\": `m`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:0 -msgid "Show valuation of LOT 1 getting updated." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:0 +msgid "Image of receipt displaying the unit of measure." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:149 -msgid "The inventory adjustment (top line) is valued the same as LOT 1 (bottom line)." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:126 +msgid "Upon warehouse receipt, the recorded quantities are in the internal \"Unit\": `yards`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:154 -msgid "View valuation" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:133 +msgid "A request for quotation for a product can also be generated directly from the product's :guilabel:`Forecasted Report` using the :guilabel:`Replenish` button. To open the Forecasted Report, click the :guilabel:`Forecasted` smart button on the product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:156 -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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:137 +msgid "After clicking :guilabel:`Replenish`, a :guilabel:`Product Replenish` box pops up. The purchase unit of measure can be manually edited in the :guilabel:`Quantity` field, if needed. Then, click :guilabel:`Confirm` to create the |RFQ|." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:159 -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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:142 +msgid "A |PO| can **only** be automatically generated if at least **one** vendor is listed in the product form's :guilabel:`Purchase` tab." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:163 -msgid "Ensure the costing method is set to *First In First Out (FIFO)* or *Average Cost (AVCO)* to display the cost on this page." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:-1 +msgid "Click the Confirm button to manually replenish." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:169 -msgid "Show cost of the lot/serial number." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:148 +msgid "Navigate to the created |PO| by scrolling down to the :guilabel:`Forecasted Inventory` section, and in the :guilabel:`Requests for quotation` line, click the |RFQ| reference number to open the draft |RFQ|. If necessary, the purchase |UOM| can be edited directly on the |PO|." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:169 -msgid "Lot form, displaying **Cost** field. The **Valuation** smart button is in the top-right." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:155 +msgid "Sell in a different UoM" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:171 -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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:157 +msgid "When creating a new quotation in the *Sales* app, Odoo automatically uses the product's specified unit of measure. If needed, the :guilabel:`Unit` can be manually edited on the quotation." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:179 -msgid "Valuation report" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:160 +msgid "After the quotation is sent to the customer, and confirmed into a sales order (SO), click the :guilabel:`Delivery` smart button at the top of the |SO|. Odoo automatically converts the unit of measure into the product's inventory unit of measure, so the :guilabel:`Demand` column of the delivery shows the converted quantity." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:181 -msgid "Display the valuation of lots and serial numbers in the database by going to :menuselection:`Inventory app --> Reporting --> Valuation`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:166 +msgid "When the product's sales :guilabel:`Unit` is `m` (meters), and its inventory unit of measure is `yard`, the |SO| shows the quantity in meters, and the delivery (and other internal warehouse documents) shows the quantity in yards." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:184 -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`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:0 +msgid "Sales order that is using the sales unit of measure." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:189 -msgid "Click the :icon:`fa-plus` :guilabel:`(plus)` icon to the right of a collapsed lot number line to :ref:`manually modify the cost `." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:173 +msgid "An order of 5 quantities is placed using the sales \"Unit\": `m`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:192 -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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:0 +msgid "Delivery displaying the inventory unit of measure." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:-1 -msgid "Show valuation report, by lots." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:178 +msgid "Upon warehouse delivery, the recorded quantities are in the internal \"Unit\": `yards`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:199 -msgid "Valuation smart button" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:182 +msgid "Create custom units of measure" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:201 -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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:184 +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/inventory_valuation/valuation_by_lots.rst:204 -msgid "On the :guilabel:`Lot/Serial Numbers` page, click the :guilabel:`Valuation` smart button." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:188 +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/inventory_valuation/valuation_by_lots.rst:209 -msgid "All stock moves relating to `LOT 1`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:194 +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 "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/valuation_by_lots.rst:209 -msgid "All stock moves that affect the valuation of `LOT 1`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:0 +msgid "Specify a reference unit in the \"Quantity\" field." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking.rst:6 @@ -5863,7 +5744,7 @@ msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:194 #: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:178 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:133 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:112 msgid ":doc:`../../shipping_receiving/removal_strategies`" msgstr "" @@ -6813,12 +6694,6 @@ msgstr "" msgid "To see the full traceability of a product, or group by serial numbers, go to :menuselection:`Inventory app --> Products --> Lots/Serial Numbers`. Doing so reveals the :guilabel:`Lots/Serial Numbers` dashboard." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:352 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting.rst:5 -#: ../../content/applications/inventory_and_mrp/manufacturing/reporting.rst:3 -msgid "Reporting" -msgstr "" - #: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:354 msgid "On the :guilabel:`Lots/Serial Numbers` dashboard, products with serial numbers assigned to them are listed by default. Click the :icon:`fa-caret-right` :guilabel:`(expand)` icon to show which serial numbers are assigned to the chosen product." msgstr "" @@ -6983,10 +6858,6 @@ msgstr "" msgid "To organize and store products efficiently, use:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations.rst:111 -msgid "Delivery" -msgstr "" - #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations.rst:113 msgid "Tailor the outgoing shipment process to fit the business needs. Picking methods and removal strategies control how products are reserved for orders, while dropshipping determines how they move. Configuring these options in Odoo ensures visibility into product movement and confirms that items reach customers efficiently." msgstr "" @@ -7366,16 +7237,16 @@ msgstr "" msgid "Activate Multi-Step Routes in Inventory configuration settings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:36 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:35 msgid "Define putaway rule" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:38 -msgid "To manage where specific products are routed for storage, navigate to :menuselection:`Inventory app --> Configuration --> Putaway Rules`. Use the :guilabel:`Create` button to configure a new putaway rule on a :guilabel:`Product` or :guilabel:`Product Category` that the rule affects." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:37 +msgid "To manage where specific products are routed for storage, navigate to :menuselection:`Inventory app --> Configuration --> Putaway Rules`. Use the :guilabel:`New` button to configure a new putaway rule on a :guilabel:`Product` or :guilabel:`Product Category` that the rule affects." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:43 -msgid "Putaway rules can be defined either per product/product category, and/or package type (the *Packages* setting must be enabled in :menuselection:`Inventory app --> Configuration --> Settings` for that)." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:42 +msgid "Putaway rules can be defined either per product/product category, and/or package type (the *Packages* setting must be enabled in :menuselection:`Inventory app --> Configuration --> Settings` for that). Additionally, a :doc:`storage category ` can be defined to limit capacities of a storage location and route products accordingly." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:47 @@ -7410,47 +7281,71 @@ msgstr "" msgid "Create putaway rules for apples and carrots." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:70 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:68 +msgid "Use the :guilabel:`Sublocation` field to specify whether to use a sublocation or specify a storage category:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:71 +msgid ":guilabel:`No`: no sublocation is used. Products are directed to whatever is specified in the :guilabel:`Store to` field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:73 +msgid ":guilabel:`Last Used`: the last location that had a move associated with it for that product or product category is used. If there is no last location used, the destination is whatever is specified in the :guilabel:`Store to` field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:76 +msgid ":guilabel:`Closest Location`: the locations specified as part of a storage category are used. A storage category is mandatory in the :guilabel:`Having Category` field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:79 +msgid "To apply a putaway rule to *all* products, create an empty putaway rule with no specified :guilabel:`Product` or :guilabel:`Product Category`. All products are stored in the location specified in the :guilabel:`Store to` field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:84 +msgid "A best practice for an empty putaway rule is to specify the :guilabel:`Last used` :guilabel:`Sublocation`. Specifying :guilabel:`Last used` ensures that Odoo suggests the last location used to store a product." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:89 msgid "Putaway rule priority" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:72 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:91 msgid "Odoo selects a putaway rule based on the following priority list (from highest to lowest) until a match is found:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:75 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:94 msgid "Package type and product" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:76 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:95 msgid "Package type and product category" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:79 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:98 msgid "Product category" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:82 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:101 msgid "The product `Lemonade can` has the following putaway rules configured:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:84 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:103 msgid "When receiving a `Pallet` (:guilabel:`Package Type`) of `Lemonade cans`, it is redirected to `WH/Stock/Pallets/PAL1`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:86 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:105 msgid "`Lemonade can`'s :guilabel:`Product Category` is `All/drinks`, and when receiving a `Box` of any item in this product category, items are redirected to `WH/Stock/Shelf 1`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:88 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:107 msgid "Any product on a `Pallet` is redirected to `WH/Stock/Pallets`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:89 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:108 msgid "The product `Lemonade can` is redirected to `WH/Stock/Shelf 2`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:90 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:109 msgid "Items in the `All/drinks` product category are redirected to `WH/Stock/Small Refrigerator`." msgstr "" @@ -8237,7 +8132,7 @@ msgid "Storage categories" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:5 -msgid "A *storage category* is used with :doc:`putaway rules `, as an extra location attribute to automatically propose optimal storage locations for products." +msgid "A *storage category* is used with :doc:`putaway rules ` to assign a storage location to incoming products while accounting for the capacity of that location." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:8 @@ -8245,11 +8140,11 @@ msgid "Follow these steps to complete the setup:" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:10 -msgid ":ref:`Enable the Storage Category feature `" +msgid ":ref:`Enable features in the settings `" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:11 -msgid ":ref:`Define a storage category ` with specific limitations" +msgid ":ref:`Define capacity limitations `" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:12 @@ -8268,83 +8163,93 @@ msgstr "" msgid "Assigning categories to storage locations tells Odoo these locations meet specific requirements, such as temperature or accessibility. Odoo then evaluates these locations, based on defined capacity, and recommends the best one on the warehouse transfer form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:28 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:29 msgid "To enable storage categories, go to :menuselection:`Inventory app --> Configuration --> Settings`. Then, in the :guilabel:`Warehouse` section, ensure the :guilabel:`Storage Locations` and :guilabel:`Multi-Step Routes` features are enabled." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:32 -msgid "Next, activate the :guilabel:`Storage Categories` feature. Finally, click :guilabel:`Save`." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:33 +msgid "If intending to set capacities by :ref:`package type `, also make sure :guilabel:`Packages` is enabled. Click :guilabel:`Save`." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:-1 -msgid "Show the Storage Categories feature." +msgid "Enable Storage Locations and Multi-Step Routes to enable storage categories." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:41 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:42 msgid "Define storage category" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:43 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:44 msgid "A storage category with specific limitations **must** be created first, before it is applied to locations, in order to decide the optimal storage location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:46 -msgid "To create a storage category, go to :menuselection:`Inventory app --> Configuration --> Storage Categories`, and click :guilabel:`Create`." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:47 +msgid "To create a storage category, go to :menuselection:`Inventory app --> Configuration --> Storage Categories`, and click :guilabel:`New`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:49 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:50 msgid "On the storage category form, type a name for the category in the :guilabel:`Storage Category` field." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:52 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:53 msgid "Options are available to limit capacity by weight, product, and package type." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:55 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:56 msgid "Weight limits can be combined with capacity by package or product (e.g. a maximum of one hundred products with a total weight of two hundred kilograms)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:58 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:59 msgid "While it is possible to limit capacity by product and package type at the same location, it may be more practical to store items in different amounts across various locations, as shown in this example of :ref:`capacity by package `." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:62 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:63 msgid "The :guilabel:`Allow New Product` field defines when the location is considered available to store a product:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:65 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:66 msgid ":guilabel:`If location is empty`: a product can be added there only if the location is empty." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:66 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:67 msgid ":guilabel:`If products are the same`: a product can be added there only if the same product is already there." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:68 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:69 msgid ":guilabel:`Allow mixed products`: several different products can be stored in this location at the same time." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:72 -msgid "When clicked, the :guilabel:`Location` smart button shows which storage locations the category has been assigned to." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:73 +msgid "When clicked, the :icon:`oi-arrows-v` :guilabel:`Locations` smart button shows which storage locations the category has been assigned to." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:77 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:131 +msgid "Odoo does **not** automatically split quantities across multiple storage locations. If an incoming receipt contains several units or packages and the first recommended location exceeds its capacity, Odoo still routes all items to that same location instead of selecting another one with available space." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:82 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:136 +msgid "*(Example: If a location can hold 10 units and 12 units arrive, all 12 are still assigned to that location.)*" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:76 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:86 msgid "Capacity by weight" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:78 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:88 msgid "On a storage category form (:menuselection:`Inventory app --> Configuration --> Storage Categories`), set a maximum product weight in the :guilabel:`Max Weight` field. This limit applies to each location assigned this storage category." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:83 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:93 msgid "Capacity by product" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:85 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:95 msgid "In the :guilabel:`Capacity by Product` tab, click :guilabel:`Add a Line` to input items, and enter their capacities in the :guilabel:`Quantity` field." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:89 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:99 msgid "Ensure only a maximum of five `Large Cabinets` and two `Corner Desk Right Sit` are stored at a single storage location, by specifying those amounts in the :guilabel:`Capacity by Product` tab of a storage category form." msgstr "" @@ -8352,98 +8257,122 @@ msgstr "" msgid "Show storage category limiting by product count." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:100 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:109 msgid "Capacity by package" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:102 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:111 msgid "For companies using :doc:`packages <../../product_management/configure/package>`, it becomes possible to ensure real-time storage capacity checks, based on package types (e.g., crates, bins, boxes, etc.)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:107 -msgid "Enable the :guilabel:`Packages` feature in :menuselection:`Inventory app --> Configuration --> Settings` to show the :guilabel:`Capacity by Package` tab." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:115 +msgid "Create the :ref:`package type ` before assigning it to a storage category. Create it on the :guilabel:`Inventory` tab of the product form (in the :guilabel:`Packaging` section), or create it from the :guilabel:`Product Packagings` page. Be sure to set the :guilabel:`Package Type`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:111 -msgid "Create putaway rules for pallet-stored items, by creating the `High Frequency pallets` storage category." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:121 +msgid "Create putaway rules for pallet-stored items, by creating the `High frequency pallets` storage category." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:114 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:124 msgid "In the :guilabel:`Capacity by Package` tab, specify the number of packages for the designated :guilabel:`Package Type`, and set a maximum of `2.00` `Pallets` for a specific location." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:0 -msgid "Create a storage category on the page." +msgid "Create a storage category." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:124 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:142 msgid "Assign to location" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:126 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:144 msgid "Once the storage category is created, assign it to a location. Navigate to the location by going to :menuselection:`Inventory app --> Configuration --> Locations`, and select the desired location. Then, select the created category in the :guilabel:`Storage Category` field." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:131 -msgid "Assign the `High Frequency pallets` storage category (which limits pallets stored at any location to two pallets) to the `WH/Stock/pallets/PAL 1` sub-location." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:149 +msgid "Assign the `High frequency pallets` storage category (which limits pallets stored at any location to two pallets) to the `WH/Stock/Pallets/PAL1` sub-location." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:0 msgid "When a Storage Category is created, it can be linked to a warehouse location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:141 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:158 msgid "Putaway rule" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:143 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:160 msgid "With the :ref:`storage category ` and :ref:`location ` set up, create the :doc:`putaway rule ` by navigating to :menuselection:`Inventory app --> Configuration --> Putaway Rules`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:147 -msgid "Click the :guilabel:`Create` button to create the putaway rule. In the :guilabel:`Having Category` field of the new putaway rule form, select the storage category." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:164 +msgid "Click the :guilabel:`New` button to create the putaway rule. Specify a location to store to in the :guilabel:`Store to` field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:167 +msgid "Use the :guilabel:`Sublocation` field to specify that you want to use a sublocation with the storage category:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:151 -msgid "Continuing the example from above, the `High Frequency Pallets` storage category is assigned to the putaway rule directing pallets of lemonade to locations with the `High Frequency Pallets` storage category :ref:`assigned to them `." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:170 +msgid ":guilabel:`Last Used`: The last location that had a move associated with it for that product or product category is used. If there is no last location used, the destination is whatever is specified in the :guilabel:`Store to` field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:173 +msgid ":guilabel:`Closest Location`: The locations specified as part of the storage category are used. A storage category is mandatory in the :guilabel:`Having Category` field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:176 +msgid "If using multiple storage locations for a single storage category, create putaway rules for each location to ensure that if one storage location is in use, the secondary locations must be used." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:180 +msgid "Continuing the example from above, the `High frequency pallets` storage category is assigned to the putaway rule directing pallets of lemonade to locations with the `High frequency pallets` storage category :ref:`assigned to them `." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:0 msgid "Storage Categories used in a variety of putaway rules." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:160 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:188 msgid "Use case: limit capacity by package" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:162 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:190 msgid "To limit the capacity of a storage location by a specific number of packages, :ref:`create a storage category with a Capacity By Package `." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:165 -msgid "Continuing the example from above, the `High Frequency Pallets` storage category is assigned to the `PAL1` and `PAL2` locations." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:193 +msgid "Continuing the example from above, the `High frequency pallets` storage category is assigned to the `PAL1` and `PAL2` locations." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:168 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:196 msgid "Then, :ref:`putaway rules ` are set, so that any pallets received in the warehouse are directed to be stored in `PAL1` and `PAL2` locations." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:171 -msgid "Depending on the number of pallets on-hand at each of the storage locations, when one pallet of lemonade cans is received, the following scenarios happen:" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:199 +msgid "Depending on the number of pallets on-hand at each of the storage locations, when two pallets of lemonade cans is received, the following scenarios happen:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:174 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:202 msgid "If `PAL1` and `PAL2` are empty, the pallet is redirected to `WH/Stock/Pallets/PAL1`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:175 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:203 msgid "If `PAL1` is full, the pallet is redirected to `WH/Stock/Pallets/PAL2`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:176 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:204 msgid "If `PAL1` and `PAL2` are full, the pallet is redirected to `WH/Stock/Pallets`." msgstr "" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:205 +msgid "If `PAL1` is partially full (for example, with one pallet), Odoo treats more than one received pallet as a single pallet on the receipt. You must manually separate the two pallets into separate storage locations. Click the :guilabel:`Open Move` icon to the right of the :guilabel:`Units` field, and then in the :guilabel:`Open: Stock move` box, click :guilabel:`Add a line`. Finally, split the receipt by quantity into separate locations, then click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/storage_category.rst:0 +msgid "Update the Stock move box to route pallets to the correct locations before validating." +msgstr "" + #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:3 msgid "Routes and push/pull rules" msgstr "" @@ -8461,7 +8390,7 @@ msgid ":doc:`Standard routes in Odoo <../daily_operations>`" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:14 -msgid "Routes are applicable on products, product categories, shipping methods, :ref:`packagings `, and on the sales order line." +msgid "Routes are applicable on products, product categories, shipping methods, and on the sales order line." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:18 @@ -8601,15 +8530,11 @@ msgstr "" msgid "On the :guilabel:`Routes` page, click on a route to open the route form. In the route form, the user can view which places the route is :guilabel:`Applicable On`. The user can also set the route to only apply on a specific :guilabel:`Company`. This is useful for multi-company environments; for example, a user can have a company and warehouse in Country A and a second company and warehouse in Country B." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:150 -msgid ":ref:`Applicable on packagings `" -msgstr "" - #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:-1 msgid "View of a route example applicable on product categories and warehouses." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:156 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:153 msgid "At the bottom of the route form, the user can view the specific :guilabel:`Rules` for the route. Each :guilabel:`Rule` has an :guilabel:`Action`, a :guilabel:`Source Location`, and a :guilabel:`Destination Location`." msgstr "" @@ -8617,11 +8542,11 @@ msgstr "" msgid "An example of rules with push & pull actions in Odoo Inventory." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:165 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:162 msgid "Custom Routes" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:167 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:164 msgid "To create a custom route, go to :menuselection:`Inventory --> Configuration --> Routes`, and click on :guilabel:`Create`. Next, choose the places where this route can be selected. A route can be applicable on a combination of places." msgstr "" @@ -8629,15 +8554,15 @@ msgstr "" msgid "View of a pick-pack-ship route." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:175 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:172 msgid "Each place has a different behavior, so it is important to tick only the useful ones and adapt each route accordingly. Then, configure the :guilabel:`Rules` of the route." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:178 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:175 msgid "If the route is applicable on a product category, the route still needs to be manually set on the product category form by going to :menuselection:`Inventory --> Configuration --> Product Categories`. Then, select the product category and open the form. Next, click :guilabel:`Edit` and under the :guilabel:`Logistics` section, set the :guilabel:`Routes`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:183 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:180 msgid "When applying the route on a product category, all the rules configured in the route are applied to **every** product in the category. This can be helpful if the business uses the dropshipping process for all the products from the same category." msgstr "" @@ -8645,7 +8570,7 @@ msgstr "" msgid "View of a route applied to the \"all\" product category." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:191 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:188 msgid "The same behavior applies to the warehouses. If the route can apply to :guilabel:`Warehouses`, all the transfers occurring inside the chosen warehouse that meet the conditions of the route's rules will then follow that route." msgstr "" @@ -8653,11 +8578,11 @@ msgstr "" msgid "View of the warehouse drop-down menu when selecting applicable on warehouse." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:199 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:196 msgid "If the route is applicable on :guilabel:`Sales Order Lines`, it is more or less the opposite. The route must be manually chosen when creating a quotation. This is useful if some products go through different routes." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:203 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:200 msgid "Remember to toggle the visibility of the :guilabel:`Route` column on the quotation/sales order. Then, the route can be chosen on each line of the quotation/sales order." msgstr "" @@ -8665,11 +8590,11 @@ msgstr "" msgid "View of the menu allowing to add new lines to sales orders." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:210 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:207 msgid "Finally, there are routes that can be applied to products. Those work more or less like the product categories: once selected, the route must be manually set on the product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:213 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:210 msgid "To set a route on a product, go to :menuselection:`Inventory --> Products --> Products` and select the desired product. Then, go to the :guilabel:`Inventory` tab and under the :guilabel:`Operations` section, select the :guilabel:`Routes`." msgstr "" @@ -8677,15 +8602,15 @@ msgstr "" msgid "View of a product form, where the route must be selected." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:222 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:219 msgid "Rules must be set on the route in order for the route to work." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:227 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:224 msgid "Rules" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:229 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:226 msgid "The rules are defined on the route form. First, go to :menuselection:`Inventory --> Configuration --> Routes` and open the desired route form. Next, click :guilabel:`Edit` and in the :guilabel:`Rules` section, click on :guilabel:`Add a line`." msgstr "" @@ -8693,27 +8618,27 @@ msgstr "" msgid "View of the rules menu, where it is possible to add new rules." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:237 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:234 msgid "The available rules trigger various actions. If Odoo offers *Push* and *Pull* rules, others are also available. Each rule has an :guilabel:`Action`:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:240 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:237 msgid ":guilabel:`Pull From`: this rule is triggered by a need for the product in a specific location. The need can come from a sales order being validated or from a manufacturing order requiring a specific component. When the need appears in the destination location, Odoo generates a picking to fulfill this need." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:244 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:241 msgid ":guilabel:`Push To`: this rule is triggered by the arrival of some products in the defined source location. In the case of the user moving products to the source location, Odoo generates a picking to move those products to the destination location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:247 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:244 msgid ":guilabel:`Pull & Push`: this rule allows the generation of pickings in the two situations explained above. This means that when products are required at a specific location, a transfer is created from the previous location to fulfill that need. This creates a need in the previous location and a rule is triggered to fulfill it. Once the second need is fulfilled, the products are pushed to the destination location and all the needs are fulfilled." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:252 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:249 msgid ":guilabel:`Buy`: when products are needed at the destination location, a request for quotation is created to fulfill the need." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:254 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:251 msgid ":guilabel:`Manufacture`: when products are needed in the source location, a manufacturing order is created to fulfill the need." msgstr "" @@ -8722,47 +8647,47 @@ msgid "Overview of a \"Pull From\" rule that creates a transfer between the stoc "zone." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:262 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:259 msgid "The :guilabel:`Operation Type` must also be defined on the rule. This defines which kind of picking is created from the rule." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:265 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:262 msgid "If the rule's :guilabel:`Action` is set to :guilabel:`Pull From` or :guilabel:`Pull & Push`, a :guilabel:`Supply Method` must be set. The :guilabel:`Supply Method` defines what happens at the source location:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:269 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:266 msgid ":guilabel:`Take From Stock`: the products are taken from the available stock of the source location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:271 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:268 msgid ":guilabel:`Trigger Another Rule`: the system tries to find a stock rule to bring the products to the source location. The available stock is ignored." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:273 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:270 msgid ":guilabel:`Take From Stock, if Unavailable, Trigger Another Rule`: the products are taken from the available stock of the source location. If there is no stock available, the system tries to find a rule to bring the products to the source location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:278 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:275 msgid "Example flow" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:280 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:277 msgid "In this example, let's use a custom *Pick - Pack - Ship* route to try a full flow with an advanced custom route." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:283 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:280 msgid "First, a quick look at the route's rules and their supply methods. There are three rules, all :guilabel:`Pull From` rules. The :guilabel:`Supply Methods` for each rule are the following:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:286 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:283 msgid ":guilabel:`Take From Stock`: When products are needed in the :guilabel:`WH/Packing Zone`, *picks* (internal transfers from :guilabel:`WH/Stock` to :guilabel:`WH/Packing Zone`) are created from :guilabel:`WH/Stock` to fulfill the need." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:289 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:286 msgid ":guilabel:`Trigger Another Rule`: When products are needed in :guilabel:`WH/Output`, *packs* (internal transfers from :guilabel:`WH/Packing Zone` to :guilabel:`WH/Output`) are created from :guilabel:`WH/Packing Zone` to fulfill the need." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:292 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:289 msgid ":guilabel:`Trigger Another Rule`: When products are needed in :guilabel:`Partner Locations/Customers`, *delivery orders* are created from :guilabel:`WH/Output` to fulfill the need." msgstr "" @@ -8770,7 +8695,7 @@ msgstr "" msgid "Overview of all the transfers created by the pick - pack - ship route." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:300 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:297 msgid "This means that, when a customer orders products that have a *pick - pack - ship* route set on it, a delivery order is created to fulfill the order." msgstr "" @@ -8778,7 +8703,7 @@ msgstr "" msgid "View of the operations created by a pull from transfer." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:308 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:305 msgid "If the source document for multiple tranfers is the same sales order, the status is not the same. The status will be :guilabel:`Waiting Another Operation` if the previous transfer in the list is not done yet." msgstr "" @@ -8786,7 +8711,7 @@ msgstr "" msgid "View of the transfers' various statuses at the beginning of the process." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:316 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:313 msgid "To prepare the delivery order, packed products are needed at the output area, so an internal transfer is requested from the packing zone." msgstr "" @@ -8794,7 +8719,7 @@ msgstr "" msgid "View of the detailed operations for a transfer between the packing and output zones." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:323 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:320 msgid "Obviously, the packing zone needs products ready to be packed. So, an internal transfer is requested to the stock and employees can gather the required products from the warehouse." msgstr "" @@ -8802,11 +8727,11 @@ msgstr "" msgid "View of the detailed operations for a transfer between the stock and packing zones." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:330 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:327 msgid "As explained in the introduction of the documentation, the last step in the process (for this route, the delivery order) is the first to be triggered, which then triggers other rules until we reach the first step in the process (here, the internal transfer from the stock to the packing area). Now, everything is ready to be processed so the customer can get the ordered items." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:335 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/use_routes.rst:332 msgid "In this example, the product is delivered to the customer when all the rules have been triggered and the transfers are done." msgstr "" @@ -11051,7 +10976,7 @@ msgid "The form for a DHL shipping method." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/dhl_credentials.rst:50 -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:58 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:66 msgid "General information" msgstr "" @@ -11627,7 +11552,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:85 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:86 #: ../../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" @@ -11706,7 +11631,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:208 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:209 msgid "Shipping information" msgstr "" @@ -11719,7 +11644,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:216 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:217 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 "" @@ -11884,7 +11809,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:237 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:238 #: ../../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 "" @@ -11898,7 +11823,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:241 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:242 msgid "Additionally, the tracking number is now available." msgstr "" @@ -12001,18 +11926,26 @@ msgid "Integrating a FedEx account with Odoo's **Inventory** app makes it possib msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:11 +msgid "As of October 21, 2025, the FedEx integration using the latest API is temporarily unavailable while FedEx reviews Odoo's certification as a solution provider. Any *existing* integrations using the *FedEx Legacy* provider currently work, but *new* setups are currently **blocked**." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:15 +msgid "While this issue is being resolved, `submit a support ticket `_ for available workarounds." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:19 msgid "This documentation contains configuration details specific to FedEx integration. See the documentation on :doc:`third-party shippers ` for general shipper integration instructions." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:16 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:24 msgid "Enable shipping connector" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:18 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:26 msgid "To enable the shipping connector for FedEx, navigate to :menuselection:`Inventory app --> Configuration --> Settings`. Scroll down to the :guilabel:`Shipping Connectors` section, and tick the checkbox next to :guilabel:`FedEx Connector`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:22 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:30 msgid "Finally, click :guilabel:`Save` to save the changes. After doing so, a :icon:`oi-arrow-right` :guilabel:`FedEx Shipping Methods` button appears below :guilabel:`FedEx Connector`." msgstr "" @@ -12020,23 +11953,23 @@ msgstr "" msgid "The FedEx Shipping Methods button below the FedEx Connector." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:29 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:37 msgid "Configure delivery method" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:31 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:39 msgid "Once the FedEx shipping connector is enabled, it is necessary to configure at least one delivery method. After doing so, the delivery method can be included in sales orders (SOs), and used to compute delivery costs, and print delivery labels." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:35 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:43 msgid "To enable a delivery method, navigate to :menuselection:`Inventory app --> Configuration --> Settings`, and click the :guilabel:`FedEx Shipping Methods` button below the :guilabel:`FedEx Connector` checkbox. Doing so opens a page that shows all existing FedEx delivery methods." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:40 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:48 msgid "To see all delivery methods for every shipper with a connector enabled, navigate to :menuselection:`Inventory app --> Configuration --> Delivery Methods`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:43 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:51 msgid "Select a delivery method to open its form. Alternatively, click :guilabel:`New` to open a blank form, and configure a new delivery method." msgstr "" @@ -12044,43 +11977,43 @@ msgstr "" msgid "The form for a FedEx delivery method." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:50 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:58 msgid "Enabling the FedEx shipping connector automatically creates two default shipping methods: :guilabel:`FedEx US` and :guilabel:`FedEx International`. Each of these methods are pre-configured with test credentials, allowing them to be used for testing purposes." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:54 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:62 msgid "Before the delivery method can be used to create actual shipments, the test credentials must be replaced with credentials from a valid FedEx account." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:60 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:68 msgid "At the very top of a delivery method form are fields used to configure the way the method operates in Odoo. In the :guilabel:`Provider` field, select :guilabel:`FedEx` from the drop-down menu, if it is not already selected." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:64 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:72 msgid "The rest of the fields in this section are general to all delivery providers. For details on how to fill them out, see the documentation on :doc:`third-party shippers `." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:68 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:76 msgid "Fedex Configuration tab" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:70 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:78 msgid "The options in the :guilabel:`Fedex Configuration` tab of a FedEx delivery method form are used to connect the method to a FedEx account, and configure the delivery details associated with the method (drop-off type, package type, etc.)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:74 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:82 msgid "A FedEx developer account is required to obtain the information needed to fill out the fields in this tab. To create a new account, navigate to FedEx's `Open Account `_ page, click on :guilabel:`Create Account`, and follow the instructions." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:80 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:88 msgid "Create API Project" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:82 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:90 msgid "After creating a `developer account `_, navigate to the :guilabel:`My Projects` tab, and click :guilabel:`CREATE API PROJECT`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:85 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:93 msgid "On the :guilabel:`Tell us about your API needs` popup, select `Ships with FedEX and needs to integrate FedEx APIs into their system` in the :guilabel:`I work for a company that:` drop-down." msgstr "" @@ -12088,27 +12021,27 @@ msgstr "" msgid "Pop-up on FedEx website to select API needs." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:91 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:99 msgid "Next, when prompted to `Select API(s) for your project`, make sure to enable the following APIs:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:93 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:101 msgid ":guilabel:`Ship, Rate & Other APIs`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:94 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:102 msgid ":guilabel:`Address Validation API`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:95 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:103 msgid ":guilabel:`Rates and Transit Times API`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:96 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:104 msgid ":guilabel:`Ship API`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:97 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:105 msgid ":guilabel:`Trade Documents Upload API`" msgstr "" @@ -12116,7 +12049,7 @@ msgstr "" msgid "Page on FedEx website where users select the APIs needed for project." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:102 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:110 msgid "Enter a :guilabel:`Project name`, then select any countries where packages will be shipped to, or delivered from." msgstr "" @@ -12124,127 +12057,127 @@ msgstr "" msgid "Page on FedEx website where users select the countries they ship to and from." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:108 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:116 msgid "To move the project to production, click the :guilabel:`Production key` tab. From there, link a :guilabel:`Shipping Account`. Copy the `API Key`, `Secret Key`, and `Account` number, then paste them into the appropriate fields on the :guilabel:`Delivery Methods` form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:113 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:121 msgid "Certification process" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:115 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:123 msgid "To enable the creation of FedEx shipping labels, the API must be certified. On the sidebar menu in the FedEx `developer portal `_, click :guilabel:`API Certification`, and follow the required instructions." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:120 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:128 msgid "These certification often require reaching out to the FedEx support team via email." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:123 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:131 msgid "Account Number fields" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:125 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:133 msgid "An *account number* is the unique number assigned to each FedEx account." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:127 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:135 msgid "To find a FedEx account number, log in to a FedEx account at https://www.fedex.com. Click on the account holder's name in the top-right corner of the screen, and select :menuselection:`My Profile` from the drop-down menu." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:131 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:139 msgid "On the profile page, click :guilabel:`Account Management` on the left side of the screen. The account number is displayed on this screen." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:134 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:142 msgid "Once the password and account number are determined, enter them in the :guilabel:`Password` and :guilabel:`Account Number` fields on the :guilabel:`Fedex Configuration` tab of the delivery method form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:139 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:147 msgid "Delivery details" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:141 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:149 msgid "The main section of the :guilabel:`Fedex Configuration` tab includes a number of additional fields used provide information about the delivery method:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:144 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:152 msgid ":guilabel:`Fedex Service Type`: The FedEx service used to ship a package." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:145 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:153 msgid ":guilabel:`Fedex Drop-Off Type`: The method for getting a package into FedEx's possession." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:146 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:154 msgid ":guilabel:`Fedex Package Type`: The type of package used for the delivery method." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:147 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:155 msgid ":guilabel:`Package Weight Unit`: The unit of measure used to weigh packages." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:148 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:156 msgid ":guilabel:`Package Length Unit`: The unit of measure used to determine the dimensions of packages." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:149 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:157 msgid ":guilabel:`Label Type`: The type of delivery label used for packages." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:150 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:158 msgid ":guilabel:`Label Format`: The file format used by Odoo to generate delivery labels." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:151 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:159 msgid ":guilabel:`Commercial Invoice Type`: The dimensions and type of the paper used to print invoices." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:154 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:162 msgid "The options that should be selected on the :guilabel:`Fedex Configuration` tab of a delivery method depend on the negotiated delivery services of the associated FedEx account. To confirm the available services for a FedEx account, visit the *Account Management* page after logging in to the FedEx website, or speak with a customer service representative." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:160 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:168 msgid "Options section" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:162 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:170 msgid "The :guilabel:`Options` section of the :guilabel:`Fedex Configuration` tab provides a few additional options to further configure the delivery method:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:165 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:173 msgid ":guilabel:`Saturday Delivery`: Tick the checkbox to allow packages shipped with the delivery method to be delivered on Saturdays." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:167 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:175 msgid ":guilabel:`Generate Return Label`: Tick the checkbox to automatically generate a return label upon validation of a delivery order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:169 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:177 msgid ":guilabel:`Duties paid by`: Use the drop-down menu to select whether duty charges should be paid by the :guilabel:`Sender` or :guilabel:`Recipient`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:173 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:181 msgid "Activate delivery method" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:175 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:183 msgid "By default, delivery methods in Odoo are created within a *test environment*. This means they can only be used for testing purposes, and are unable to generate actual delivery orders." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:178 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:186 msgid "To activate a delivery method in a *production environment*, click the :icon:`fa-stop` :guilabel:`Test Environment` smart button at the top of the delivery method form. After doing so, the smart buttons changes to read :icon:`fa-play` :guilabel:`Production Environment`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:182 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:190 msgid "With the production environment enabled, validating a delivery order using the delivery method generates an actual delivery label with FedEx." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:185 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:193 msgid "Click the :icon:`fa-play` :guilabel:`Production Environment` smart button to return the delivery method to a test environment." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:189 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/fedex.rst:197 msgid "**Do not** enable the production environment for a delivery method before it is ready to be used for actual delivery orders. Doing so may lead to the creation of unwanted charges with FedEx." msgstr "" @@ -13360,7 +13293,7 @@ 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 `_" +msgid "`Sendcloud integration documentation `_" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:14 @@ -13368,23 +13301,23 @@ 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." +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." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:24 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:25 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:30 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:31 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:37 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:38 #: ../../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:39 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:40 msgid "Once logged into the Sendcloud account, navigate to :menuselection:`Settings --> Shipping --> Addresses`, and fill in the field for :guilabel:`Warehouse address`." msgstr "" @@ -13392,7 +13325,7 @@ msgstr "" msgid "Adding addresses in the Sendcloud settings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:46 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:47 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 "" @@ -13432,23 +13365,23 @@ msgstr "" msgid ":guilabel:`Address`: `My Company (San Francisco)`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:63 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:64 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:67 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:68 msgid "Generate Sendcloud credentials" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:69 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:70 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:72 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:73 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:77 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:78 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 "" @@ -13456,19 +13389,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:87 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:88 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:95 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:96 msgid ":ref:`Enable pickup points on websites `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:100 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:101 msgid "Install Sendcloud shipping module" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:102 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:103 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 "" @@ -13476,88 +13409,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:113 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:114 msgid "Sendcloud shipping connector configuration" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:115 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:116 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:119 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:120 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:124 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:125 #: ../../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:127 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:128 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:129 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:130 msgid ":guilabel:`Shipping Method`: type `Sendcloud DPD`." 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:131 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:131 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:132 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:133 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:134 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:134 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:135 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:139 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:140 msgid "Pickup points" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:141 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:142 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:146 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:147 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:151 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:152 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:155 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:156 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:160 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:161 msgid "Load shipping products" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:162 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:163 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:164 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:165 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:166 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:167 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:167 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:168 msgid "Click :guilabel:`Select`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:170 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:171 msgid "Sample Sendcloud shipping products configured in Odoo:" msgstr "" @@ -13581,7 +13514,7 @@ msgstr "" msgid ":guilabel:`Maximum Weight`: `31.50`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:178 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:179 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 "" @@ -13614,47 +13547,47 @@ msgstr "" msgid "Example of shipping products configured in Odoo." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:196 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:197 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:200 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:201 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:210 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:211 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:213 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:214 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:220 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:221 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:224 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:225 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:231 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:232 msgid "Generate labels with Sendcloud" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:233 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:234 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:238 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:239 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:239 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:240 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:244 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:245 msgid "When return labels are created, Sendcloud automatically charges the configured Sendcloud account." msgstr "" @@ -13695,7 +13628,7 @@ msgid "In the :guilabel:`Actions` section, set a :guilabel:`Condition` to determ msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:280 -msgid "`Create shipping rules on Sendcloud `_" +msgid "`Create shipping rules on Sendcloud `_" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:287 @@ -15044,23 +14977,23 @@ msgid "To view the seven location types in Odoo, select any location, and in the msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:56 -msgid ":guilabel:`Vendor Location`: defines an area where products purchased from vendors originate. Items here are **not** in stock." +msgid ":guilabel:`Vendor`: defines an area where products purchased from vendors originate. Items here are **not** in stock." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:59 -msgid ":guilabel:`View`: used to organize and structure the warehouse hierarchy. For example, the view location `WH` (short for warehouse) groups all internal locations, such as `Stock`, receiving docks, quality checkpoints, and packing areas to show they all belong to the same warehouse." +msgid ":guilabel:`Virtual`: used to organize and structure the warehouse hierarchy. For example, the virtual location `WH` (short for warehouse) groups all internal locations, such as `Stock`, receiving docks, quality checkpoints, and packing areas to show they all belong to the same warehouse." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:64 -msgid "View locations should **not** contain products, but it is possible to move them there." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:65 +msgid "Virtual locations should **not** contain products, but it is possible to move them there." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:66 -msgid ":guilabel:`Internal Location`: storage locations within the warehouse. Items stored in these locations are accounted for in :doc:`inventory valuation <../product_management/inventory_valuation/using_inventory_valuation>`." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:67 +msgid ":guilabel:`Internal`: storage locations within the warehouse. Items stored in these locations are accounted for in :doc:`inventory valuation <../inventory_valuation/cheat_sheet>`." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:70 -msgid ":guilabel:`Customer Location`: where sold products are tracked; items here are no longer in stock." +msgid ":guilabel:`Customer`: where sold products are tracked; items here are no longer in stock." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:72 @@ -15068,70 +15001,66 @@ msgid ":guilabel:`Inventory Loss`: counterpart location to consume missing items msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:75 -msgid "In Odoo, examples of inventory loss locations are *Inventory Adjustment*, used to account for discrepancies during an inventory count, and *Scrap*, which is where damaged goods are sent to account for inventory losses." +msgid "In Odoo, examples of inventory loss locations are *Inventory adjustment*, used to account for discrepancies during an inventory count, and *Scrap*, which is where damaged goods are sent to account for inventory losses." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:80 -msgid "`Virtual Locations/Inventory Adjustment` is a location with the :guilabel:`Inventory Loss` type. The database shows `65` units in `WH/Stock`, but an inventory check reveals `60`. To correct the quantity, five units are moved from `WH/Stock` to `Virtual Locations/Inventory Adjustment`." +msgid "`Inventory adjustment` is a location with the :guilabel:`Inventory Loss` type. The database shows `8` units in `WH/Stock`, but an inventory check reveals `4`. To correct the quantity, four units are moved from `WH/Stock` to `Inventory adjustment`." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:0 -msgid "Product ends up in Virtual Locations/Inventory Adjustment." +msgid "Product ends up in Inventory adjustment." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:89 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:87 msgid ":guilabel:`Production`: where raw materials are consumed, and :doc:`manufactured products <../../manufacturing>` are created." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:92 -msgid ":guilabel:`Transit Location`: used for inter-company or inter-warehouse operations to track products shipped between different addresses, such as :ref:`Physical Locations/Inter-warehouse transit `." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:90 +msgid ":guilabel:`Transit`: used for inter-company or inter-warehouse operations to track products shipped between different addresses, such as :ref:`Physical Locations/Inter-warehouse transit `." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:-1 msgid "List of locations in Odoo." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:103 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:100 msgid "In Odoo, location types are color-coded:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:102 -msgid "**Red**: internal locations" +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:99 +msgid "**Blue**: virtual locations" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:103 -msgid "**Blue**: view locations" +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:100 +msgid "**Black**: internal and external locations (including inventory loss, vendor, and customer locations)." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:104 -msgid "**Black**: external locations (including inventory loss, vendor, and customer locations)." +msgid "View locations in Odoo" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:107 -msgid "View locations in Odoo" +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:106 +msgid "Odoo databases include preconfigured virtual locations to organize the hierarchy of locations. These provide helpful context, and distinguish between internal and external locations." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:109 -msgid "Odoo databases include preconfigured view locations to organize the hierarchy of locations. These provide helpful context, and distinguish between internal and external locations." +msgid "*Physical locations* group internal locations—such as secondary warehouses and subcontractor sites. Because :doc:`inventory valuation <../inventory_valuation/cheat_sheet>` changes only when goods move from internal to external locations, Odoo uses physical locations to track stock that is off-site or in transit without affecting valuation." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:112 -msgid "*Physical locations* group internal locations—such as secondary warehouses and subcontractor sites. Because :doc:`inventory valuation <../product_management/inventory_valuation/inventory_valuation_config>` changes only when goods move from internal to external locations, Odoo uses physical locations to track stock that is off-site or in transit without affecting valuation." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:117 +msgid "When moving products in warehouses `WH` and `WH2`, the items are not in either warehouse, but still belong to the company. While in transit, they are placed in the `Inter-warehouse transit` location, a :guilabel:`Transit` type." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:121 -msgid "When moving products in warehouses `WH` and `WH2`, the items are not in either warehouse, but still belong to the company. While in transit, they are placed in the `Inter-warehouse transit` location, a :guilabel:`Transit Location` type." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:125 msgid "This location is under the view location, `Physical Locations`, indicating that `Inter-warehouse transit` is outside of a warehouse, but still part of the company. Doing so does not affect the inventory valuation of the products." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:129 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:125 msgid "*Partner locations* group customer and vendor locations (external locations) together. Transfers to these locations affect inventory valuation." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:131 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:127 msgid "*Virtual locations* are locations that do **not** exist physically, but it is where items that are not in inventory can be placed. These can be items that are no longer in inventory due to loss, or other factors." msgstr "" @@ -15930,11 +15859,11 @@ msgstr "" msgid "Show Storage Locations feature." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:24 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:23 msgid "Create new location" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:26 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:25 msgid "After enabling *Storage Locations*, go to :menuselection:`Inventory app --> Configuration --> Locations`." msgstr "" @@ -15942,142 +15871,116 @@ msgstr "" msgid "List of internal locations." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:33 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:31 msgid "On this page, click :guilabel:`New`. The new location form can then be configured as follows:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:35 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:33 msgid ":guilabel:`Location Name`: recognizable name of the location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:36 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:34 msgid ":guilabel:`Parent Location`: the location within which the new location exists. After the location is created, it is listed on the :guilabel:`Locations` page using a *location hierarchy*, to describe how a specific location fits within larger areas of the warehouse." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:41 -msgid "In `WH/Stock/Zone A/Refrigerator 1`, \"Refrigerator 1\" is the location name, \"Zone A\" is the parent location, and everything before it is the path showing where this spot is within the warehouse." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:39 +msgid "In `WH/Stock/Zone A/Refrigerator 1`, `Refrigerator 1` is the location name, `Zone A` is the parent location, and everything before it is the path showing where this spot is within the warehouse." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:46 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:44 msgid "Additional Information section" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:48 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:46 msgid "In addition to the required fields above, configure the following location fields to ensure the location serves its intended purpose in the database:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:51 -msgid ":guilabel:`Location Type`: from the drop-down menu, choose :guilabel:`Vendor Location`, :guilabel:`View`, :guilabel:`Internal Location`, :guilabel:`Customer Location`, :guilabel:`Inventory Loss`, :guilabel:`Production`, or :guilabel:`Transit Location` to categorize the location. For details on each location type, refer to the :ref:`Location Types section `." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:49 +msgid ":guilabel:`Location Type`: from the drop-down menu, choose :guilabel:`Vendor`, :guilabel:`Virtual`, :guilabel:`Internal`, :guilabel:`Customer`, :guilabel:`Inventory Loss`, :guilabel:`Production`, or :guilabel:`Transit` to categorize the location. For details on each location type, refer to the :ref:`Location Types section `." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:56 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:54 msgid ":guilabel:`Storage Category`: only available with the :doc:`Storage Categories <../../shipping_receiving/daily_operations/storage_category>` feature enabled in :menuselection:`Inventory app --> Configuration --> Settings`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:59 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:57 msgid ":guilabel:`Company`: the company the location belongs to." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:60 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:79 -msgid ":guilabel:`Is a Scrap Location?`: tick this checkbox to allow for scrapped/damaged goods to be stored in this location." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:62 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:81 -msgid ":guilabel:`Is a Return Location?`: tick this checkbox to allow products to be returned to this location." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:64 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:58 msgid ":guilabel:`Barcode`: used with the *Barcode* app, enter the barcode to :ref:`identify actions ` at this location when scanned." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:66 -msgid ":guilabel:`Replenish Location`: used for :doc:`configuring routes <../../shipping_receiving/daily_operations/use_routes>`, tick this checkbox to set the location as a destination for receiving products from *Buy*, *Manufacture*, or other procurement routes, ensuring products are correctly supplied to the warehouse." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:60 +msgid ":guilabel:`Replenishments`: used for :doc:`configuring routes <../../shipping_receiving/daily_operations/use_routes>`, tick this checkbox to set the location as a destination for receiving products from *Buy*, *Manufacture*, or other procurement routes, ensuring products are correctly supplied to the warehouse." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:-1 msgid "Additional Information section of new location creation form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:75 -msgid "Configure the remaining fields in the :guilabel:`Additional Information` section as follows:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:77 -msgid ":guilabel:`Company`: the company whose warehouse the location is inside of. Leave this field blank if this location is shared between companies." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:83 -msgid ":guilabel:`Barcode`: the barcode assigned to the location." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:84 -msgid ":guilabel:`Replenish Location`: tick this checkbox to get all quantities to replenish at this location." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:87 -msgid "In the :guilabel:`Cyclic Counting` section, change the value in the :guilabel:`Inventory Frequency (Days)` field from the default `0`, if necessary." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:68 +msgid "In the :guilabel:`Cyclic Counting` section, change the value in the :guilabel:`Inventory Frequency` field from the default `0`, if necessary." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:-1 msgid "Cyclic Counting section of new location creation form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:94 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:74 msgid "When different than `0`, the inventory count dates for products stored at this location are automatically set at the defined frequency." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:97 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:77 msgid "In the :guilabel:`Logistics` section, in the :guilabel:`Removal Strategy` field, click the drop-down menu and select the :doc:`removal strategy <../../shipping_receiving/removal_strategies>` for how items should be removed from this location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:104 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:84 msgid "Cyclic Counting section" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:106 -msgid "To schedule regular inventory counts at this location, set the :guilabel:`Inventory Frequency (Days)` field to the desired interval. By default, it is set to `0` (no scheduled counts)." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:86 +msgid "To schedule regular inventory counts at this location, set the :guilabel:`Inventory Frequency` field to the desired interval. By default, it is set to `0` (no scheduled counts)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:109 -msgid "For example, setting this field to `30`, schedules a count every thirty days. For more specifics on setting up and using this feature, refer to the :doc:`Cycle Counts documentation `." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:89 +msgid "For example, setting this field to `30` schedules a count every thirty days. For more specifics on setting up and using this feature, refer to the :doc:`Cycle Counts documentation `." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:112 -msgid "The :guilabel:`Last Effective Inventory` field displays the date the last inventory count at this location occurred. When scheduled inventory counts are enabled, the :guilabel:`Next Expected Inventory` field displays the date of the next inventory count." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:92 +msgid "The :guilabel:`Last Inventory` field displays the date the last inventory count at this location occurred. When scheduled inventory counts are enabled, the :guilabel:`Next Expected` field displays the date of the next inventory count." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:117 -msgid "With inventory counts scheduled to occur every `30` days, and the :guilabel:`Last Effective Inventory` count occurring on July 16, the :guilabel:`Next Expected Inventory` is August 15." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:97 +msgid "With inventory counts scheduled to occur every `30` days, and the :guilabel:`Last Inventory` count occurring on November 13, the :guilabel:`Next Expected` is December 13." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:0 msgid "Show Cyclic Count section of the locations form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:125 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:104 msgid "Logistics section" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:127 -msgid "In the :guilabel:`Logistics` section of the locations form, optionally select a :guilabel:`Removal Strategy` to determine the order and priority of how products are picked from inventory. The options are: :guilabel:`First In First Out (FIFO)`, :guilabel:`Last In First Out (LIFO)`, :guilabel:`Closest Location`, and :guilabel:`First Expiry First Out (FEFO)`." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:106 +msgid "In the :guilabel:`Logistics` section of the locations form, optionally select a :guilabel:`Removal Strategy` to determine the order and priority of how products are picked from inventory. The options are: :guilabel:`First In First Out (FIFO)`, :guilabel:`Last In First Out (LIFO)`, :guilabel:`Closest Location`, :guilabel:`Least Packages`, and :guilabel:`First Expiry First Out (FEFO)`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:136 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:115 msgid "Current stock at location" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:138 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:117 msgid "To view the current stock at a single location, go to :menuselection:`Inventory app --> Configuration --> Locations`, and select the desired location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:141 -msgid "Next, click the :guilabel:`Current Stock` smart button to get a list of all products at the location." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:120 +msgid "Next, click the :guilabel:`Products` smart button to get a list of all products at the location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:145 -msgid "A list of current stock at `Shelf 1` consists of `266` cabinets and `39` desks." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:123 +msgid "A list of current stock at `Shelf 2` consists of `90` cable management boxes." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:0 @@ -16294,7 +16197,7 @@ msgid "The just-in-time logic ensures replenishment occurs only when required to msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/just_in_time.rst:45 -msgid "Just-in-time logic determines the exact timing of replenishment. If you want to extend this logic to also consider near-future demand beyond the forecast date, see :ref:`Visibility Days `" +msgid "Just-in-time logic determines the exact timing of replenishment. If you want to extend this logic to also consider near-future demand beyond the forecast date, see :ref:`Horizon Days `" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/just_in_time.rst:49 @@ -17055,12 +16958,12 @@ msgid ":ref:`Reordering rules setup ` msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:33 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:135 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:128 msgid ":ref:`Trigger `" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:34 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:136 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:129 msgid ":ref:`Preferred route `" msgstr "" @@ -17073,43 +16976,38 @@ msgid ":doc:`Just in time logic `" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:39 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:140 -msgid ":ref:`Visibility days `" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:40 msgid ":ref:`Horizon days `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:45 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:44 msgid "Reordering rules setup" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:47 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:46 msgid "To configure automatic and manual reordering rules, complete the following:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:49 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:48 msgid ":ref:`Product type configuration `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:50 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:49 msgid ":ref:`Replenishment method `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:51 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:50 msgid ":ref:`Create rule `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:56 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:55 msgid "Product type configuration" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:58 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:57 msgid "A product must be configured correctly to use reordering rules. Begin by navigating to :menuselection:`Inventory app --> Products --> Products`, then select an existing product, or create a new one by clicking :guilabel:`New`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:62 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:61 msgid "On the product form, under the :guilabel:`General Information` tab, set the :guilabel:`Product Type` to :guilabel:`Goods`, and make sure the :guilabel:`Track Inventory` checkbox is ticked. This is necessary for Odoo to track the product's stock levels and trigger reordering rules." msgstr "" @@ -17117,148 +17015,144 @@ msgstr "" msgid "Product Type and Track Inventory configurations." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:72 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:71 msgid "Replenishment method" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:74 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:73 msgid "Next, configure the replenishment method (e.g. buy or manufacture)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:76 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:75 msgid "If the product is purchased, :ref:`install ` the **Purchase** app, and confirm that the :guilabel:`Purchase` checkbox is enabled under the product name. In the :guilabel:`Purchase` tab, add at least one vendor to the :doc:`vendor pricelist <../../../purchase/products/pricelist>`. Odoo uses the vendor at the top of the list to generate |RFQs| when reordering rules are triggered." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:81 -msgid "In the :guilabel:`Inventory` tab's :guilabel:`Routes` field, tick the :guilabel:`Buy` checkbox." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:84 msgid ":doc:`Vendor pricelist <../../../purchase/products/pricelist>`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:86 -msgid "If the product is manufactured, :ref:`install ` the **Manufacturing** app, and in the :guilabel:`Inventory` tab's :guilabel:`Routes` field, tick the :guilabel:`Manufacture` checkbox." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:83 +msgid "If the product is manufactured, :ref:`install ` the **Manufacturing** app." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:89 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:85 msgid "Next, ensure at least one :doc:`bill of materials <../../../manufacturing/basic_setup/bill_configuration>` (BoM) is displayed in the :guilabel:`Bill of Materials` smart button at the top of the product form. This is necessary because Odoo only creates manufacturing orders (MOs) for products with a |BoM|." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:94 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:90 msgid "If a |BoM| does not already exist for the product, click the :guilabel:`Bill of Materials` smart button, then click :guilabel:`New` to configure a new |BoM|." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:98 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:94 msgid ":doc:`Configure BoM <../../../manufacturing/basic_setup/bill_configuration>`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:103 -msgid "Create new reordering rules" +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:99 +msgid "Create a reordering rule" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:105 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:101 msgid "To create a new reordering rule, navigate to :menuselection:`Inventory app --> Operations --> Replenishment`, then click :guilabel:`New`, and fill out the following fields for the new reordering rule line item:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:109 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:105 msgid ":guilabel:`Product`: The product that is replenished by the rule." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:110 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:106 msgid ":guilabel:`Location`: The location where the product is stored." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:111 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:107 msgid ":guilabel:`Min`: The minimum quantity that can be forecasted without the rule being triggered. When forecasted stock falls below this number, a replenishment order for the product is created." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:114 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:110 msgid ":guilabel:`Max`: The maximum quantity at which the stock is replenished." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:115 -msgid ":guilabel:`Multiple Quantity`: If the product should be ordered in specific quantities, enter the number that should be ordered. For example, if the :guilabel:`Multiple Quantity` is set to `5`, and only 3 are needed, 5 products are replenished." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:122 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:122 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:115 msgid "The form for creating a new reordering rule." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:125 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:118 msgid "Reordering rules can also be created from the :guilabel:`Reordering Rules` smart button on the product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:129 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:122 msgid "To learn how the :guilabel:`On Hand`, :guilabel:`Forecast`, and :guilabel:`To Order` fields are calculated using on-hand quantities and future demand, see :doc:`Just in time logic `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:133 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:126 msgid "For advanced usage, learn about the following reordering rule fields:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:137 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:130 msgid ":ref:`Vendor `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:138 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:131 msgid ":ref:`Bill of materials `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:139 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:132 +msgid ":ref:`Multiple `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:133 msgid ":ref:`Procurement group `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:143 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:136 msgid "The fields above are not available by default, and must be enabled by selecting the |adjust| in the far-right corner and selecting the desired column from the drop-down menu." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:149 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:142 msgid "0/0/1 reordering rule" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:151 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:144 msgid "The *0/0/1* reordering rule is a specialty rule used to replenish a product that is not kept on-hand, each time a sales order (SO) is confirmed for that product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:155 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:148 msgid "The 0/0/1 reordering rule is similar to the *Replenish on Order (MTO)* route, in that both workflows are used to replenish a product upon confirmation of an |SO|." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:158 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:151 msgid "The main difference between the two methods is that the *Replenish on Order* route automatically reserves the product for the |SO| that caused it to be replenished. This means the product **cannot** be used for a different |SO|." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:162 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:155 msgid "The 0/0/1 reordering rule does not have this limitation. A product replenished using the rule is not reserved for any specific |SO|, and can be used as needed." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:165 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:158 msgid "Another key difference is that replenishment orders created by the *Replenish on Order* route are linked to the original |SO| by a smart button at the top of the order. When using the 0/0/1 reordering rule, a replenishment order is created, but is not linked to the original |SO|." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:169 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:162 msgid "See the :doc:`Replenish on Order (MTO) ` documentation for a full overview of the MTO route." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:171 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:164 msgid "To create a 0/0/1 reordering rule, navigate to :menuselection:`Inventory app --> Products --> Products`, and select a product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:174 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:167 msgid "At the top of the product's page, click the :icon:`fa-refresh` :guilabel:`Reordering Rules` smart button to open the :guilabel:`Reordering Rules` page for the product. On the resulting page, click :guilabel:`New` to begin configuring a new reordering rule." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:178 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:171 msgid "In the :guilabel:`Location` field of the new reordering rule, select the location in which replenished products should be stored. By default, this location is set to :guilabel:`WH/Stock`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:181 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:174 msgid "In the :guilabel:`Route` field, select the route the rule should use to replenish the item. For example, if the product should be purchased from a vendor, select the :guilabel:`Buy` route." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:184 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:177 msgid "In the :guilabel:`Min` field and :guilabel:`Max` field, leave the values set to `0.00`. In the :guilabel:`To Order` field, enter a value of `1.00`." msgstr "" @@ -17266,87 +17160,123 @@ msgstr "" msgid "A 0/0/1 reordering rule." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:190 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:183 msgid "With the reordering rule configured using these values, each time an |SO| causes the forecasted quantity of the product to fall below the :guilabel:`Min` of `0.00`, the selected :guilabel:`Route` is used to replenish the product in one-unit increments, back up to the :guilabel:`Max` of `0.00`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:195 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:188 msgid "An item is configured with a 0/0/1 reordering rule that uses the *Buy* route. Zero units are kept on-hand at any given time." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:198 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:191 msgid "A |SO| is confirmed for one unit, which causes the forecasted quantity to drop to `-1.00`. This triggers the reordering rule, which automatically creates a |PO| for one unit." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:201 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:194 msgid "Once the product is received from the vendor, the forecasted quantity returns to `0.00`. There is now one unit on-hand, but it is not reserved for the |SO| which triggered its purchase. It can be used to fulfill that |SO|, or reserved for a different order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:208 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:201 +msgid "Multiple" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:203 +msgid "The :guilabel:`Multiple` field on the replenishment report (:menuselection:`Inventory app --> Operations --> Replenishment`) defines the unit used when replenishing a product. Odoo rounds the ordered quantity *up* to the nearest multiple that meets or slightly exceeds the :guilabel:`Max` quantity set on the reordering rule. If no multiples apply, select :guilabel:`Units`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:209 +msgid "A vendor sells soda only in cases of six cans, but your company tracks quantities per can. Setting the :guilabel:`Multiple` to `6` ensures soda is ordered in multiples of six (6, 12, 18...)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:213 +msgid "For a reordering rule with the :guilabel:`Min` = `10` and :guilabel:`Max` = `40`:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:215 +msgid "If the forecasted quantity is `10`, the amount :guilabel:`To Order` is `30`, a multiple of six that will bring the :guilabel:`On Hand` quantity to exactly the maximum." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:217 +msgid "If the forecasted quantity is `8`, the quantity needed to reach the max is `32`. But 32 is not a multiple of six, so Odoo rounds the :guilabel:`To Order` quantity up to `36`. This will cause the :guilabel:`On Hand` quantity to slightly exceed the maximum." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:0 +msgid "Reordering rule with the Multiple set to 6." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:225 +msgid "If the maximum is exceeded, expect to see a :icon:`fa-warning` warning indicating the possibility of excessive stock." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:231 +msgid "Multiples are based on defined :doc:`packagings <../../product_management/configure/packaging>`. Only packaging types listed on the product's :doc:`vendor pricelist <../../../purchase/products/pricelist>` appear as options in the :guilabel:`Multiple` field when configuring reordering rules." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:239 msgid "Trigger" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:210 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:241 msgid "A reordering rule's *trigger* can be set to *automatic* or *manual*. While both function the same way, the difference between the two types of reordering rules is how the rule is launched:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:213 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:244 msgid ":ref:`Auto `: A purchase or manufacturing order is automatically created when the forecasted stock falls below the reordering rule's minimum quantity. By default, the :guilabel:`Auto` trigger is selected." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:216 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:247 msgid ":ref:`Manual `: The :doc:`Replenishment report ` lists products needing replenishment, showing current/forecasted stock, lead times, and arrival dates. Users can review forecasts before clicking *Order*." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:220 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:251 msgid "To enable the :guilabel:`Trigger` field, go to :menuselection:`Inventory app --> Operations --> Replenishment`. Then, click the |adjust|, located to the far-right of the column titles, and tick the :guilabel:`Trigger` checkbox." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:224 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:255 msgid "In the :guilabel:`Trigger` column, select :guilabel:`Auto` or :guilabel:`Manual`. Refer to the sections below to learn about the different types of reordering rules." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:230 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:261 msgid "Auto" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:232 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:263 msgid "*Automatic reordering rules*, enabled by setting the reordering rule's :guilabel:`Trigger` field to :guilabel:`Auto`, generate purchase or manufacturing orders when either:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:235 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:266 msgid "The scheduler runs, and the *Forecasted* quantity is below the minimum, or" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:236 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:267 msgid "A |SO| is confirmed, and lowers the *Forecasted* quantity of the product below the minimum." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:238 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:269 msgid "If the :guilabel:`Buy` route is selected, then an |RFQ| is generated. To view and manage |RFQs|, navigate to :menuselection:`Purchase app --> Orders --> Requests for Quotation`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:241 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:272 msgid "If the :guilabel:`Manufacture` route is selected, then an |MO| is generated. To view and manage |MOs|, navigate to :menuselection:`Manufacturing app --> Operations --> Manufacturing Orders`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:244 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:275 msgid "When no route is selected, Odoo selects the :guilabel:`Route` specified in the :guilabel:`Inventory` tab of the product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:248 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:279 msgid "The scheduler is set to run once a day, by default." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:250 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:281 msgid "To manually trigger a reordering rule before the scheduler runs, ensure :ref:`developer mode ` is enabled, and select :menuselection:`Inventory app --> Operations --> Run Scheduler`. Then, click the purple :guilabel:`Run Scheduler` button on the pop-up window that appears." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:255 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:286 msgid "Be aware that this also triggers any other scheduled actions." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:258 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:289 msgid "The product, `Office Lamp`, has an automatic reordering rule set to trigger when the forecasted quantity falls below the :guilabel:`Min Quantity` of `5.00`. Since the current :guilabel:`Forecast` is `55.00`, the reordering rule is **not** triggered." msgstr "" @@ -17354,15 +17284,19 @@ msgstr "" msgid "Show automatic reordering rule from the Reordering Rule page." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:270 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:299 +msgid "Manual" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:301 msgid "*Manual reordering rules*, configured by setting the reordering rule's :guilabel:`Trigger` field to :guilabel:`Manual`, list a product on the :doc:`replenishment dashboard ` when the forecasted quantity falls below a specified minimum. Products on this dashboard are called *needs*, because they are needed to fulfill upcoming |SOs|, for which the forecasted quantity is not enough." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:275 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:306 msgid "The replenishment dashboard, accessible by navigating to :menuselection:`Inventory app --> Operations --> Replenishment`, considers order deadlines, forecasted stock levels, and lead times. It displays needs **only** when it is time to reorder items, thanks to the :guilabel:`To Reorder` filter." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:280 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:311 msgid "When a product appears on the replenishment dashboard, clicking the :guilabel:`Order` button generates the purchase or manufacturing order with the specified amounts :guilabel:`To Order`." msgstr "" @@ -17370,31 +17304,31 @@ msgstr "" msgid "Click the Order button on the replenishment dashboard to replenish stock." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:289 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:320 msgid "Route" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:291 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:322 msgid "Odoo allows for multiple routes to be selected as replenishment methods under the :guilabel:`Inventory` tab on each product form. For instance, it is possible to select both :guilabel:`Buy` and :guilabel:`Manufacture`, indicating to Odoo that the product can be bought or manufactured." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:297 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:328 msgid ":ref:`Set route on product form `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:299 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:330 msgid "Odoo also enables users to set a preferred route for a product's reordering rule. This is the replenishment method (e.g., buying or manufacturing) that the rule defaults to, if multiple are available." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:303 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:334 msgid "To specify a preferred route, begin by navigating to :menuselection:`Inventory app --> Operations --> Replenishment`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:306 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:337 msgid "By default, the :guilabel:`Route` column is hidden. To reveal it, select the |adjust| to the far-right of the column titles, and ticking :guilabel:`Route` from the drop-down menu that appears." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:309 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:340 msgid "Click inside of the column on the row of a reordering rule, and a drop-down menu shows all available routes for that rule. Select one to set it as the preferred route." msgstr "" @@ -17402,31 +17336,31 @@ msgstr "" msgid "Select a preferred route from the drop-down." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:316 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:347 msgid "If multiple routes are enabled for a product but no preferred route is set for its reordering rule, the product is reordered using the *Buy* route, then *Manufacture*." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:320 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:351 msgid "Advanced uses" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:322 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:353 msgid "Pairing :guilabel:`Route` with one of the following fields on the replenishment report unlocks advanced configurations of reordering rules. Consider the following:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:327 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:358 msgid ":guilabel:`Vendor`: When the selected :guilabel:`Route` is :guilabel:`Buy`, setting the :guilabel:`Vendor` field to one of the multiple vendors on the vendor pricelist indicates to Odoo that the vendor is automatically populated on |RFQs| when a reordering rule triggers the creation of a purchase order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:334 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:365 msgid ":guilabel:`Bill of Materials`: When the :guilabel:`Route` is set to :guilabel:`Manufacture`, and there are multiple |BoMs| in use, specifying the desired |BoM| in the replenishment report, draft manufacturing orders are created with this |BoM| in use." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:340 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:371 msgid ":guilabel:`Procurement Group`: This is a way to group related |POs| or |MOs| that are tied to fulfilling a specific demand, like an |SO| or a project. It helps organize and track which orders are linked to a particular demand." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:345 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:376 msgid "Procurement groups link replenishment methods to demand, making smart buttons to appear — similar to how smart buttons appear when using the :doc:`MTO route `." msgstr "" @@ -17434,47 +17368,47 @@ msgstr "" msgid "Showing smart button to PO." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:351 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:382 msgid "Sales order (demand) with a smart button linking to the related purchase order (replenishment method)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:354 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:385 msgid "In the context of reordering rules:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:356 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:387 msgid "Reordering rules do not automatically assign a procurement group, which is why there are no smart buttons that link |SOs| to |POs|, unlike the :abbr:`MTO (Make to Order)` route." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:358 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:389 msgid "To enable smart buttons for products replenished by reordering rules (not :abbr:`MTO (Make to Order)`), with specific quantities linked to specific demands (e.g. |SOs|), assign a procurement group." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:361 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:392 msgid "Without a procurement group, demands for the same product can be combined into a single |RFQ|, even if the reordering rule is executed multiple times for those demands. This allows for more efficient procurement by consolidating demands into fewer orders." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:365 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:396 msgid "Selecting a procurement group in the :guilabel:`Procurement Group` field on the replenishment report ensures that all linked orders are grouped under the same demand, based on the defined route." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:370 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:401 msgid "How can you set the *Procurement Group*, *Vendor*, and *Route* fields on the replenishment report to generate a single |RFQ| for five different products in sales order SO35, given they share the same vendor, Azure Interior, and ensure other demands for these products are handled separately?" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:377 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:408 msgid "Set the :guilabel:`Procurement Group` to `SO35`, in the reordering rule for all five products. This groups the demands for `SO35` in the same |RFQ| or |MO|." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:379 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:410 msgid "Set the :guilabel:`Vendor` to `Azure Interior` to ensure the |RFQ| is created for the same supplier." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:381 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:412 msgid "Set the :guilabel:`Route` to :guilabel:`Buy` to generate an |RFQ|." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:382 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:413 msgid "Click the :guilabel:`Order` button to generate a single |RFQ| for the five products tied to `SO35`." msgstr "" @@ -17482,125 +17416,61 @@ msgstr "" msgid "After placing the order, remove `SO35` from the :guilabel:`Procurement Group` field of the five products' reordering rules. This ensures future demands for these products are managed separately and assigned to different |RFQs| (the usual behavior)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:390 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:421 msgid ":doc:`Just-in-time logic `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:395 -msgid "Visibility days" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:397 -msgid "*Visibility days* enable the ability to determine if additional quantities should be added to the planned replenishment. Odoo checks if forecasted stock on the forecasted date will drop below the minimum in the reordering rule. **Only if** it is time to reorder, visibility days check additional future demand by the specified number of days." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:403 -msgid "Visibility days extend the standard just-in-time replenishment logic by looking beyond the immediate forecasted date. To fully understand how Odoo determines when replenishment is triggered, refer to the :doc:`Just-in-time logic `" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:407 -msgid "This feature helps consolidate orders by grouping immediate and near-future needs, reducing transport costs and enabling supplier discounts for larger orders." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:410 -msgid "To set visibility days to incorporate orders for a specified number of days in the future, navigate to :menuselection:`Inventory app --> Operations --> Replenishment`, or by clicking the *Reordering Rules* smart button from the product form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:414 -msgid "Next, enable the :guilabel:`Visibility Days` field by clicking the |adjust| to the far right and choosing the feature from the drop-down menu. Then, enter the desired visibility days." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:418 -msgid "The forecasted date is never pushed forward or extended; Odoo only checks the extra visibility days if the stock falls below the minimum threshold on the forecasted date." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:422 -msgid "Example where visibility days is triggered" -msgstr "" - #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:424 -msgid "A product shipped from Asia has a combined vendor lead time of 30 days and a shipping cost of $100 (including :doc:`landed costs <../../product_management/inventory_valuation/landed_costs>` and tariffs)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:428 -msgid "November 4: Current date. The forecasted date is December 4 (30 days later)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:429 -msgid "|SO| 1: Requires the product by Dec 4. Odoo places the order today, costing $100." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:67 +msgid "Horizon days" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:430 -msgid "|SO| 2: Requires the product by Dec 19. Normally, Odoo would order on Nov 19, costing an additional $100." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:426 +msgid "*Horizon days* allow users to extend the time window between today's date and the forecasted date when calculating for the forecasted quantity. This features allows users to plan and restock inventory proactively, rather than following a just-in-time approach. The feature is meant to help users plan replenishment in advance by increasing the :ref:`forecasted date `." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:432 -msgid "|SO| 3: Requires the product by Dec 25. Normally, Odoo would order on Nov 25, costing another $100." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:435 -msgid "Ordering separately for these sales orders totals $300 in shipping costs." +msgid "\\text{Forecasted date} = \\text{Current date} + \\text{Vendor Lead Time} + \\text{Horizon Days}" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:-1 -msgid "Show forecasted date visualization." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:437 +msgid "Since horizon days are only meant to be used with manual reordering rules, find details about the feature in the :doc:`Replenishment report article `." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:440 -msgid "Setting :guilabel:`Visibility Days` to `20.0` allows Odoo to \"look ahead\" 20 days from December 4 (|SO| 1's forecasted date) to December 24." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:441 +msgid "Horizon days are configured on a company level." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:443 -msgid "It groups |SO| 2's order with |SO| 1, reducing shipping costs by consolidating orders." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:444 -msgid "|SO| 3, which is due on Dec 25, is one day late and is not grouped with the other two orders." +msgid "The default horizon days setting can be set or updated by navigating to the :menuselection:`Inventory app --> Advanced Scheduling`. Enter the desired number of days in the :guilabel:`Replenishment Horizon` field, and click :guilabel:`Save`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:447 -msgid "Counterexample where visibility days is not triggered" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:449 -msgid "Considering the example above, if |SO| 1 does not exist, then:" +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:-1 +msgid "The Replenishment Horizon setting in the Inventory app." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:451 -msgid "**November 4**: Current date. The forecasted date is December 4 (30 days later)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:452 -msgid "**November 5**: The forecasted date shifts to December 5." +msgid "Example of how horizon days affect replenishment planning" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:453 -msgid "|SO| 2: Requires the product by December 19. Odoo will only trigger the order on November 19, meaning the user will not see a replenishment notification until then." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:456 -msgid "This shows that visibility days complement just-in-time logic by optimizing it to balance replenishment costs more effectively." +msgid "On the Replenishment report, there are currently two products listed due for reordering: `Drawer, Black` and `Corner Desk`. This is based on their current level of on-hand stock, and their forecasted stock level. The default horizon days is set as `20`." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:-1 -msgid "Example where the visibility days does not trigger." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:463 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:67 -msgid "Horizon days" +msgid "Replenishment report with horizon days set at 20." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:465 -msgid "*Horizon days* determine how many days ahead Odoo checks if the forecasted quantity will drop below reordering rule's minimum. The feature is meant to help users plan replenishment in advance, by increasing the :ref:`forecasted date `." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:460 +msgid "However, by extending the horizon days to `30`, an additional product is added to the list." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:469 -msgid "\\text{Forecasted date} = \\text{Current date} + \\text{Vendor Lead Time} + \\text{Horizon Days}" +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:-1 +msgid "Replenishment report with horizon days set at 30." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:475 -msgid "Since horizon days are only meant to be used with manual reordering rules, find details about the feature in the :doc:`Replenishment report article `." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:465 +msgid "This is because the additional product, `[FURN_0789] Individual Workplace`, has a delivery scheduled in twenty-nine days, at which point their on-hand stock levels will fall below the minimum needed on-hand." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:3 @@ -17668,74 +17538,62 @@ msgid "The Order to Max option on the replenishment dashboard." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:69 -msgid "*Horizon days* determine how many days ahead Odoo checks if the forecasted quantity will drop below reordering rule's minimum. The feature is meant to help users plan replenishment in advance, by increasing the :ref:`forecasted date ` on the :doc:`replenishment report `." +msgid "*Horizon days* determine how many days ahead Odoo checks if the forecasted quantity will drop below reordering rule's minimum. The feature is meant to help users plan replenishment in advance, by increasing the :ref:`forecasted date ` on the :doc:`replenishment report `. Horizon days look ahead a specified number of days and trigger reordering rules as soon as the forecasted quantity falls below the minimum within that window, even if no replenishment is needed today." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:75 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:77 msgid "Setting horizon days to `7` ensures all manual reordering rules set to trigger within the next seven days appear on the replenishment report, allowing users to review and decide which products to order in advance." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:79 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:81 msgid "To set horizon days, go to :menuselection:`Inventory app --> Operations --> Replenishment`, and click :icon:`fa-angle-double-right` :icon:`fa-folder` :guilabel:`Manual` in the left sidebar. In the menu that appears, set the number of :guilabel:`Horizon` days." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:83 -msgid "Both horizon days and :ref:`visibility days ` allow Odoo to anticipate future demand, but they work differently:" -msgstr "" - #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:86 -msgid "**Visibility days**: only checks future demand if a replenishment would have been triggered today." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:87 -msgid "**Horizon days**: looks ahead a specified number of days and triggers reordering rules as soon as the forecasted quantity falls below the minimum within that window — even if no replenishment is needed today." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:92 msgid "Current date: Feb 18" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:93 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:87 msgid "On hand quantity: 10" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:94 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:88 msgid "Reordering rule: Min: 5, Max 10" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:95 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:89 msgid "Vendor lead time: 1 day" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:97 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:91 msgid "8 units are needed for an |SO| on Feb 23. That means, on Feb 23, there will only be 2 units in stock." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:100 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:94 msgid "**Without horizon days**" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:102 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:96 msgid "The demand appears on the replenishment report only on Feb 22, one day before the delivery date." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:104 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:98 msgid "Forecasted date: Feb 19 (current date + vendor lead time)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:106 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:100 msgid "**With horizon days (4 or more days)**" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:108 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:102 msgid "Odoo considers demand up to Feb 23 as relevant today (Feb 18)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:109 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:103 msgid "The need for 8 more units appears immediately in the replenishment report" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:110 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:104 msgid "Forecasted date: Feb 23 (current date + vendor lead time + horizon days)" msgstr "" @@ -17743,27 +17601,27 @@ msgstr "" msgid "Show forecasted date brought forward." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:116 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:110 msgid "Replenishment information" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:118 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:112 msgid "In each line of the replenishment report, clicking the :icon:`fa-info-circle` :guilabel:`(info)` icon opens the :guilabel:`Replenishment Information` pop-up window, which displays the *lead times* and *forecasted date*." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:122 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:116 msgid "For detailed information on how to use this feature for replenishment, go to the :doc:`just-in-time ` section." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:126 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:120 msgid "Select a warehouse" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:128 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:122 msgid "If a warehouse's replenishment method is :doc:`resupply from another warehouse `, check for available product quantities in other warehouses by opening the :guilabel:`Replenishment Information` pop-up window. Warehouses that can replenish the stock are listed under the :guilabel:`Warehouses` tab, and the :guilabel:`Available Quantity` shows the on-hand stock in each warehouse." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:134 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:128 msgid "After selecting a sourcing warehouse, click :guilabel:`Select Route` :guilabel:`Order` button is clicked, the reordering rule will revert to its preferred route (Buy or Manufacture)." msgstr "" @@ -17771,7 +17629,7 @@ msgstr "" msgid "The warehouse tab on the Replenishment Information pop-up window." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:141 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:135 msgid ":ref:`Temporary Reordering Rules `" msgstr "" @@ -17972,7 +17830,7 @@ msgid "Show shipments from warehouse to store." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:3 -msgid "Stock valuation dashboard" +msgid "Stock valuation reporting" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:7 @@ -17984,7 +17842,7 @@ msgid "This value is often reported for accounting purposes. For instance, an in msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:14 -msgid ":doc:`Stock valuation <../../product_management/inventory_valuation/using_inventory_valuation>` typically utilizes one of two accounting systems:" +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 @@ -17996,99 +17854,99 @@ msgid "**Periodic**: The inventory value is checked on an occasional (periodic) 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 :ref:`stock 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." +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:31 -msgid "Open the dashboard" +#: ../../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:33 -msgid "Odoo's *Stock Valuation* dashboard displays the financial value of all tracked inventory, according to each product's stock valuation method. This report can provide insights into potential issues in the supply chain, such as sunken purchase costs or delays in profitability. To access the dashboard, go to :menuselection:`Inventory app --> Reporting --> Valuation`." +#: ../../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:39 +#: ../../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:42 -msgid "This dashboard 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." +#: ../../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:48 +#: ../../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:55 +#: ../../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:57 -msgid "By default, the :guilabel:`Stock Valuation` dashboard 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." +#: ../../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:62 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:198 +#: ../../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:64 +#: ../../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:66 +#: ../../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:70 +#: ../../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:72 +#: ../../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:73 +#: ../../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:75 +#: ../../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:79 +#: ../../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:82 +#: ../../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:86 +#: ../../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:87 +#: ../../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:89 +#: ../../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:93 +#: ../../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:95 +#: ../../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:100 +#: ../../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:107 +#: ../../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 "" @@ -18096,47 +17954,47 @@ msgstr "" msgid "Stock valuation report." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:115 +#: ../../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:117 +#: ../../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:124 +#: ../../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:132 -msgid "Below is an example of what the :guilabel:`Stock Valuation` table shows when a few stock moves have occurred for a product using standard price accounting." +#: ../../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 table in standard price accounting." +msgid "Stock valuation report in standard price accounting." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:138 -msgid "Conversely, the following image depicts what the *Stock Valuation* Report table might look like after a product has switched from standard price to :abbr:`FIFO (First In, First Out)` accounting." +#: ../../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 table after switching from standard price to FIFO accounting." +msgid "Stock valuation report after switching from standard price to FIFO accounting." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:145 +#: ../../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:149 +#: ../../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:153 +#: ../../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:160 +#: ../../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 "" @@ -18144,35 +18002,35 @@ msgstr "" 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:169 +#: ../../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:171 +#: ../../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:176 +#: ../../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:181 +#: ../../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:190 +#: ../../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:192 -msgid "From the :guilabel:`Stock Valuation` dashboard, 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." +#: ../../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:200 +#: ../../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:207 +#: ../../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 "" @@ -18180,23 +18038,285 @@ msgstr "" msgid "Stock aging report, showing product row items and day columns." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:216 +#: ../../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:218 +#: ../../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:222 +#: ../../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:226 +#: ../../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 "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:5 +msgid "The following dashboards, available via the :doc:`Odoo Dashboards <../../../../productivity/dashboards>` app, allow you to monitor and analyze core metrics related to warehouse operations and management, as well as stock management:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:9 +msgid ":ref:`Warehouse Daily Operations dashboard `: monitors task completion and scheduled activities" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:12 +msgid ":ref:`Operation analysis dashboard `: measures efficiency KPIs" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:14 +msgid ":ref:`Warehouse Metrics dashboard `: assesses stock value and quantity" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:17 +msgid "To access these dashboards, go to the **Dashboards** app, then, in the left panel, navigate to the :guilabel:`Logistics` section and click the name of the relevant dashboard. The dashboard opens in the main view." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:22 +msgid "The :ref:`rights to access ` Odoo dashboards are based on user groups, and are managed within the **Dashboards** app. By default, the :guilabel:`Operation analysis` and :guilabel:`Warehouse Metrics` dashboards are only visible to, and can only be accessed by, users with admin access to the **Inventory** app." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:28 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:22 +msgid ":ref:`Using Odoo dashboards `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:29 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:23 +msgid ":ref:`Customizing Odoo dashboards `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:34 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:-1 +msgid "Warehouse Daily Operations dashboard" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:36 +msgid "The :guilabel:`Warehouse Daily Operations dashboard` provides a real-time view of critical outstanding tasks across receipts, deliveries, and internal transfers, allowing warehouse managers to prioritize work and prevent bottlenecks. It immediately identifies overdue operations, as well as transfers that have not yet been assigned to an employee. It also forecasts scheduled activity for the next 7 days." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:46 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:110 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:185 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:34 +msgid "Navigate the dashboard" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:48 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:187 +msgid "Three cards at the top of the dashboard show the following information:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:50 +msgid ":guilabel:`Late deliveries`: indicates the number of open deliveries with a past scheduled date and/or past deadline date." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:54 +msgid "If delivery is configured using a multi-step route with push logic, the delivery is not generated until the previous operation is confirmed." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:57 +msgid ":guilabel:`Late receptions`: indicates the number of open receipts with a past scheduled date and/or past deadline date." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:59 +msgid ":guilabel:`Late internal transfers`: indicates the number of open internal transfers with a past scheduled date and/or past deadline date." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:62 +msgid "The following charts and tables are available:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:64 +msgid ":guilabel:`Transfers to be assigned`: shows open transfers that have no responsible user assigned." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:67 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:107 +msgid "For a more precise analysis, filter the dashboard by operation type via the search bar." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:69 +msgid ":guilabel:`Open transfers to date`: shows open transfers by operation, by date." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:72 +msgid "By default, the :guilabel:`Transfers to be assigned` and :guilabel:`Open transfers to date` charts are shown by day. To see data by :guilabel:`Weeks`, :guilabel:`Months`, or :guilabel:`Weeks`, hover over the chart and click the dropdown in the top-right corner." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:76 +msgid ":guilabel:`Open receptions to date`: shows the number of open receipts per responsible user." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:77 +msgid ":guilabel:`Open late receipts`: shows the ten oldest open receipts with a past scheduled date and/or deadline date, in descending order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:79 +msgid ":guilabel:`Open internal transfers to date`: shows the number of open internal transfers per responsible user." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:81 +msgid ":guilabel:`Open late internal transfers`: shows the ten oldest open internal transfers with a past scheduled date and/or deadline date, in descending order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:83 +msgid ":guilabel:`Open deliveries to date`: shows the number of open deliveries per responsible user." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:84 +msgid ":guilabel:`Open late deliveries`: shows the ten oldest open deliveries with a past scheduled date and/or deadline date, in descending order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:86 +msgid ":guilabel:`Receptions next 7 days`: shows the number of open receipts for the next seven days." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:87 +msgid ":guilabel:`Deliveries next 7 days`: shows the number of open deliveries for the next seven days." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:92 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:-1 +msgid "Operation analysis dashboard" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:94 +msgid "The :guilabel:`Operation analysis` dashboard focuses on KPIs related to the efficiency and accuracy of stock movements. It helps identify areas for process improvement by showing metrics like the average time transfers are overdue, the average time between creation and validation of transfers, and the percentage of on-time transfers. It also provides insights into delivery accuracy by showing the percentage of products actually delivered versus ordered." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:104 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:37 +msgid "By default, this dashboard shows data for :guilabel:`All time`. To show data for a specific period, click :icon:`fa-calendar` :guilabel:`All time` above the dashboard and select or define the appropriate period." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:112 +msgid "Four cards at the top of the dashboard show the following information:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:114 +msgid ":guilabel:`Avg Delay`: indicates the average number of days, in decimal format, that completed deliveries were overdue (i.e., the date the delivery status changed to :guilabel:`Done` minus the scheduled date for the delivery) in the selected period." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:119 +msgid "Deliveries that are completed earlier than their scheduled date contribute a negative delay value to the calculation of the KPI." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:122 +msgid ":guilabel:`Avg Lead Time`: indicates the average number of days, in decimal format, between the creation and the validation of transfers." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:125 +msgid ":guilabel:`Fill rate`: indicates the percentage of products delivered in relation to the total number of products ordered." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:129 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:141 +msgid "When no backorder is created, this KPI decreases." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:131 +msgid ":guilabel:`On Time Operations`: indicates the percentage of transfers made on time for the selected operation (i.e., the transfer date is less than or equal to scheduled date for the transfer)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:135 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:196 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:69 +msgid "The following charts are available:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:137 +msgid ":guilabel:`Fill Rate by Demand`: shows the percentage of products delivered in relation to the total number of products ordered." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:143 +msgid ":guilabel:`On Time rate by Demand`: shows the percentage of transfers made on time by product." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:145 +msgid ":guilabel:`Internal lead time`: shows the average time between the creation and the validation of transfers by operation." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:148 +msgid ":guilabel:`Moves lines count by operation`: shows the total number of completed stock move lines by operation type over the selected period." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:151 +msgid ":guilabel:`Weekly Stock Moves Lines by operation`: shows the total number of completed stock move lines weekly, by operation type." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:154 +msgid ":guilabel:`Transfer count by responsible and operation`: shows the number of transfers by employee, detailing the type of operation." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:157 +msgid ":guilabel:`Quantity of stock adjustments by category`: shows adjusted stock quantity, by product category." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:160 +msgid ":guilabel:`Qty scrapped product by category`: shows the quantity of product scrapped, by product category." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:166 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:-1 +msgid "Warehouse Metrics dashboard" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:168 +msgid "The :guilabel:`Warehouse Metrics` dashboard provides a high-level view of the value and availability of stock. It enables monitoring of stock reservation levels both in quantity and value, identification of products with negative stock, and analysis of stock distribution and value across the most used locations and top products. It also tracks important details like the creation date of stock, so warehouse or purchasing managers can identify slow-moving or stagnant products and take action, such as promoting, discounting, or returning products." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:179 +msgid "The value of stock depends on the valuation method used." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:182 +msgid "For a more precise analysis, filter the dashboard by product via the search bar." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:189 +msgid ":guilabel:`Share reserved stock Qty`: indicates the quantity of stock reserved in relation to the total quantity of stock on hand, both as a percentage and number." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:191 +msgid ":guilabel:`Share reserved stock value`: indicates the value of reserved stock in relation to the total value of stock on hand, both as a percentage and number." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:193 +msgid ":guilabel:`Lines with negative stock`: indicates the number of inventory lines with a negative stock quantity." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:198 +msgid ":guilabel:`Available & Reserved Stock Quantity`: shows the quantity of available stock (i.e., stock on hand minus reserved stock) and the quantity of reserved stock, per most-used location. At the top right of the chart, click :guilabel:`Top Products` to see this information for the top products, i.e., the products with the highest quantities." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:202 +msgid ":guilabel:`Available & Reserved Stock Value`: shows the value of available stock (i.e., stock on hand minus reserved stock) and the value of reserved stock, per most-used location. At the top right of the chart, click :guilabel:`Top Products` to see this information for the top products, i.e., the products with the most total value." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:206 +msgid ":guilabel:`Ageing stock qty by product and creation date`: shows, by product, the quantity of stock that has been held since its creation. To change the creation date period, hover over the chart then select the desired period from the dropdown." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:211 +msgid "For products not tracked by lot/serial number, this chart only displays the date of first receipt except if the stock went down to 0." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:214 +msgid ":guilabel:`Ageing stock value by product and creation date`: shows, by product, the value of stock that has been held since its creation. To change the creation date period, hover over the chart then select the desired period from the dropdown." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:218 +msgid ":guilabel:`Top 10 products with negative stock`: shows the ten products with the most negative stock. Depending on the situation, manual stock corrections may be needed for products shown here. By default, this is shown as a donut chart; click :guilabel:`Top 10` at the top right of the chart to see this in list form." +msgstr "" + #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/forecast.rst:3 msgid "Forecasted report" msgstr "" @@ -18210,7 +18330,7 @@ msgid "The forecast report is **only** available on products where inventory is msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/forecast.rst:22 -msgid "Navigating the forecast report" +msgid "Navigating the report" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/forecast.rst:24 @@ -18414,67 +18534,69 @@ msgid "This can be an indication to either expedite the current shipment, if pos msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:3 -msgid "Locations dashboard" +msgid "Locations report" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:5 -msgid "The *Locations* dashboard in the **Inventory** application provides an overview of on-hand storage locations for company products. Use this report to see where stock is stored, identify :ref:`misplaced items `, or view past inventory to see product locations on specific dates." +msgid "The *Locations* report in the **Inventory** application provides an overview of on-hand storage locations for company products. Use this report to see where stock is stored, identify :ref:`misplaced items `, or view past inventory to see product locations on specific dates." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:10 -msgid "To access the locations report, the *Storage Locations* feature must be enabled. To do that, go to :menuselection:`Inventory app --> Configuration --> Settings`. In the :guilabel:`Warehouse` section, tick the checkbox for :guilabel:`Storage Locations`, and click :guilabel:`Save`. Then, access the locations dashboard by navigating to :menuselection:`Inventory app --> Reporting --> Locations`." +msgid "To access the *Locations* report, the *Storage Locations* feature must be enabled. To do that, go to :menuselection:`Inventory app --> Configuration --> Settings`. In the :guilabel:`Warehouse` section, tick the checkbox for :guilabel:`Storage Locations`, and click :guilabel:`Save`. Then, access the main :guilabel:`Locations` report by navigating to :menuselection:`Inventory app --> Reporting --> Locations`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:16 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:17 msgid "The *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/locations.rst:22 -msgid "Navigate the locations dashboard" +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:23 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:24 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:19 +msgid "Navigate the report" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:24 -msgid "By default, the :guilabel:`Locations` dashboard lists all on-hand products in stock (in the :guilabel:`Product` column), along with the following information:" +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:25 +msgid "By default, the :guilabel:`Locations` report lists all on-hand products in stock (in the :guilabel:`Product` column), along with the following information:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:27 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:28 msgid ":guilabel:`Location`: current storage location. If a product is stored at `Shelf 1` and `Shelf 2`, the product is listed twice, showing quantities at each location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:29 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:30 msgid ":guilabel:`Package`: the package that the product is stored in, if any." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:30 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:31 msgid ":guilabel:`Lot/Serial Number`: if the product has a lot or serial number, it is specified here." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:31 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:32 msgid ":guilabel:`On Hand Quantity`: current quantity of products. Click the :icon:`fa-pencil` :guilabel:`(edit)` icon to :doc:`modify the on-hand quantity <../inventory_management/count_products>`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:34 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:35 msgid ":guilabel:`Reserved Quantity`: on-hand quantity reserved for operations, such as pickings, delivery orders, or manufacturings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:36 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:37 msgid ":guilabel:`Unit`: the unit of measure of the product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:38 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:52 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:39 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:51 msgid "Click the buttons to the right of each row item to access additional information:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:40 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:41 msgid ":icon:`fa-history` :guilabel:`History`: access the stock move history of the product, displaying information about the quantity and description of why the product was moved from one location to another." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:45 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:46 msgid "View what the product is reserved for, by clicking the :icon:`fa-history` :guilabel:`History` button on the far-right of the product line." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:48 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:49 msgid "On the :guilabel:`Moves History` page, remove the :icon:`fa-filter` :guilabel:`Done` filter from the search bar to reveal filter options, and select the :guilabel:`To Do` filter." msgstr "" @@ -18482,27 +18604,27 @@ msgstr "" msgid "Display *Moves History* page of to-do deliveries that reserved the product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:54 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:55 msgid ":icon:`fa-refresh` :guilabel:`Replenishment`: access the :doc:`reordering rules <../replenishment/reordering_rules>` page to replenish products at the specific location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:57 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:58 msgid "In the upper-left corner of the page, click the :guilabel:`New` button to make an :doc:`inventory adjustment <../inventory_management/count_products>` to record quantities of a certain product at a specific :guilabel:`Location`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:61 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:62 msgid "To view products, quantities, and their locations for a specified date, click the :guilabel:`Inventory At Date` button (also located in the upper-left corner of the page). Select a date and time in the :guilabel:`Inventory at Date` field, then click :guilabel:`Confirm`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:66 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:67 msgid "View empty locations" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:68 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:69 msgid "To view which locations are currently empty, navigate to :menuselection:`Inventory --> Configuration --> Locations`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:71 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:72 msgid "Empty locations are designated by the checkbox in the :guilabel:`Is Empty` column. To show only empty locations, click into the search bar and select the :guilabel:`Empty Locations` filter." msgstr "" @@ -18510,46 +18632,46 @@ msgstr "" msgid "A list of the empty locations in the Inventory app." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:78 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:79 msgid "Generate reports" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:80 -msgid "After learning how to :ref:`navigate the locations dashboard `, it can be used to create and share different reports." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:81 +msgid "After learning how to :ref:`navigate the locations report `, it can be used to create and share different reports." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:84 -msgid "A few common reports that can be created using the :guilabel:`Locations` dashboard are detailed below." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:85 +msgid "A few common reports that can be created using the :guilabel:`Locations` report are detailed below." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:88 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:89 msgid "Dead stock report" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:90 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:91 msgid "To get list of expired items, also referred to as *dead stock*, follow these steps:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:92 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:120 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:147 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:93 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:121 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:148 msgid "Go to :menuselection:`Inventory app --> Reporting --> Locations`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:93 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:148 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:94 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:149 msgid "Then, click into the search bar to reveal a drop-down list of :guilabel:`Filters`, :guilabel:`Group By`, and :guilabel:`Favorite` options." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:95 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:96 msgid "Enable the :guilabel:`Internal Locations` and :guilabel:`Expiration Alerts` option under the :guilabel:`Filters` section." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:98 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:99 msgid "The report now displays a list of expired products." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:101 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:102 msgid "This report can also be generated from the :ref:`Lot and Serials Numbers ` page, accessed by going to :menuselection:`Inventory app --> Products --> Lots/Serial Numbers`." msgstr "" @@ -18557,23 +18679,23 @@ msgstr "" msgid "Show a list of products whose expiration dates have exceeded today." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:111 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:112 msgid "Stranded inventory report" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:113 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:114 msgid "Businesses using multi-step flows in the **Inventory** or **Manufacturing** apps, may have *stranded* items, which are products not in their proper storage locations, due to human error. Use this report to periodically check transfer locations (e.g. *WH/Input*, *WH/Pre-Processing*) to ensure items are moved to their intended storage locations, and accurately recorded in the database." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:118 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:119 msgid "To get a list of items that might be sitting idly in storage, follow these steps:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:121 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:122 msgid "In the search bar, begin typing the name of the location where products are intended to be moved to, such as `WH/Input`, or `WH/Packing`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:123 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:124 msgid "Select the :guilabel:`Search Location for:` [location name] option from the resulting drop-down menu that appears beneath the search bar." msgstr "" @@ -18581,15 +18703,15 @@ msgstr "" msgid "Show search result for the location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:129 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:130 msgid "The report now displays a list of products at the transit location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:132 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:133 msgid "Searching `Input` in :guilabel:`Location` shows a list of products at a *WH/Input* location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:134 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:135 msgid "The list shows `500` quantities of `Chicken`, which is alarming if not refrigerated soon after reception. The stranded inventory report helps identify items that have been idling in non-storage locations." msgstr "" @@ -18597,19 +18719,19 @@ msgstr "" msgid "Show items stored at a specific location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:142 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:143 msgid "Inventory discrepancy report" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:144 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:145 msgid "To generate a report of items that have been moved since the last :doc:`inventory audit <../inventory_management/cycle_counts>`, follow these steps:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:150 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:151 msgid "Enable the :guilabel:`Internal Locations` and :guilabel:`Conflicts` option from the :guilabel:`Filters` section." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:152 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:153 msgid "The report now displays items whose quantities have changed since the last cycle count." msgstr "" @@ -18617,7 +18739,7 @@ msgstr "" msgid "Show items from the *Conflicts* filter in the report." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:157 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/locations.rst:158 msgid "Click the :icon:`fa-history` :guilabel:`History` button to view inventory transfers, including receipts and deliveries, that have occurred since the inventory adjustment." msgstr "" @@ -18626,7 +18748,7 @@ msgid "Show *Moves History*, showing a delivery that occurred after an inventory msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:3 -msgid "Moves history dashboard" +msgid "Moves history report" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:5 @@ -18639,170 +18761,166 @@ msgid "The reporting feature is only accessible to users with :doc:`admin access msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:14 -msgid "To access the stock report, go to :menuselection:`Inventory app --> Reporting --> Moves History`." +msgid "To access the moves history report, go to :menuselection:`Inventory app --> Reporting --> Moves History`." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:-1 msgid "Display Moves History report." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:23 -msgid "Navigate the moves history report" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:25 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:26 msgid "In the report, the columns represent:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:27 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:28 msgid ":guilabel:`Date`: calendar date and time of the stock move." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:28 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:29 msgid ":guilabel:`Reference`: description of the reason for the stock move or quantity change, such as a receipt number (e.g. `WH/IN/00012`)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:30 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:31 msgid ":guilabel:`Product`: name of the product involved in the move." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:31 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:32 msgid ":guilabel:`Lot/Serial Number`: specifies the lot or serial number of the tracked product being moved." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:33 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:34 msgid ":guilabel:`From`: source location of the moved product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:34 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:35 msgid ":guilabel:`To`: destination location of the moved product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:35 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:36 msgid ":guilabel:`Quantity`: number of products moved." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:36 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:37 msgid ":guilabel:`Unit`: unit of measure of the products moved." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:37 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:38 msgid ":guilabel:`Status`: indicates the move status, which can be :guilabel:`Done`, :guilabel:`Available` (ready for action), or :guilabel:`Partially Available` (insufficient quantities to complete the operation)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:42 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:66 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:43 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:65 msgid "Search options" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:44 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:45 msgid "Use the following search options to customize the :guilabel:`Moves History` report to display relevant information" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:49 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:70 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:50 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:69 #: ../../content/applications/inventory_and_mrp/manufacturing/reporting/delayed.rst:38 msgid "Filters" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:51 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:72 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:52 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:71 msgid "The :guilabel:`Filters` section allows users to search among pre-made and custom filters to find specific stock records." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:54 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:55 msgid ":guilabel:`To Do`: show stock move records that are in progress. This includes lines with a :guilabel:`Status` column value of :guilabel:`Available` or :guilabel:`Partially Available`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:56 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:57 msgid ":guilabel:`Done`: completed stock moves, with a :guilabel:`Status` of :guilabel:`Done`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:57 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:58 msgid ":guilabel:`Incoming`: displays move records from vendor locations." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:58 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:59 msgid ":guilabel:`Outgoing`: displays move records to customer locations, including customer returns." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:60 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:61 msgid ":guilabel:`Internal`: displays move records from one internal location to another." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:61 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:62 msgid ":guilabel:`Manufacturing`: shows records where products were produced from the virtual, production :doc:`location <../inventory_management/use_locations>`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:63 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:64 msgid ":guilabel:`Date`: select this drop-down menu to access various date filter options and view stock moves from a specific month, quarter, or year." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:65 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:66 msgid ":guilabel:`Last 30 Days`: show records that occurred in the last thirty days." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:66 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:67 msgid ":guilabel:`Last 3 Months`: show records from the last three months." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:68 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:111 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:69 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:110 msgid "Group By" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:70 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:71 msgid "The :guilabel:`Group By` section allows users to add pre-made and custom groupings to the search." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:73 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:74 msgid ":guilabel:`Product`: group records by product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:74 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:75 msgid ":guilabel:`Status`: group records by the three status types: :guilabel:`Done`, :guilabel:`Available`, and :guilabel:`Partially Available`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:76 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:77 msgid ":guilabel:`Date`: group records by :guilabel:`Year`, :guilabel:`Quarter`, :guilabel:`Month`, :guilabel:`Week`, or :guilabel:`Day`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:78 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:79 msgid ":guilabel:`Transfers`: group records by operation number, e.g. `WH/OUT/00012`, `WH/MO/00211`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:80 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:81 msgid ":guilabel:`Location`: group records by source location (the :guilabel:`From` column in this report)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:82 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:83 msgid ":guilabel:`Category`: group records by product category. To configure these, go to :menuselection:`Inventory app --> Configuration --> Products: Product Categories`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:84 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:85 msgid ":guilabel:`Batch Transfer`: group records by :doc:`batch <../../shipping_receiving/picking_methods/batch>`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:87 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:123 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:88 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:122 msgid "Favorites" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:89 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:90 msgid "To save the current applied filters and groups, so the same information can be easily accessed after closing this page, click :guilabel:`Save current search`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:92 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:93 msgid "Optionally, tick the :guilabel:`Default filter` checkbox to make this current view the default filter when opening the :guilabel:`Moves History` report. Or tick the :guilabel:`Shared` checkbox to make the search option available to other users." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:96 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:132 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:97 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:131 msgid "Lastly, click the :guilabel:`Save` button." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:99 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:135 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/moves_history.rst:100 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:134 msgid ":doc:`../../../../essentials/search`" msgstr "" @@ -18822,10 +18940,6 @@ msgstr "" msgid "Show the stock report, accessible by going to Inventory > Reporting > Stock." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:19 -msgid "Navigate the stock report" -msgstr "" - #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:21 msgid "On the stock report, the left sidebar includes several groupings to narrow down what is being shown. The default groupings are :guilabel:`Warehouses`, which filters products by specific warehouses, and :guilabel:`Category`, which shows products within a selected product category." msgstr "" @@ -18855,50 +18969,50 @@ msgid ":ref:`Compute average cost inventory valuation per unit `" +msgid ":doc:`Inventory valuation methods <../../inventory_valuation/cheat_sheet>`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:42 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:41 msgid ":guilabel:`On Hand`: current quantity of products. Click the :icon:`fa-pencil` :guilabel:`(pencil)` icon to :doc:`modify the on-hand quantity <../inventory_management/count_products>`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:45 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:44 msgid ":guilabel:`Free to Use`: on-hand quantity that are **not** reserved for delivery or manufacturing orders, and are available to sell or use." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:47 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:46 msgid ":guilabel:`Incoming`: items expected to arrive at the warehouse. Number of products is based on quantities in confirmed purchase orders." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:49 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:48 msgid ":guilabel:`Outgoing`: items expected to leave the warehouse or be consumed in manufacturing orders. Number of products is based on quantities in confirmed sales or manufacturing orders." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:54 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:53 msgid ":guilabel:`History`: access the stock move history of the product, displaying information about the quantity and description of why the product was moved from one location to another." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:56 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:55 msgid ":guilabel:`Replenishment`: access the :doc:`reordering rules <../replenishment/reordering_rules>` page for the product to create or manage methods of procuring the product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:59 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:58 msgid ":guilabel:`Locations`: break down of on-hand quantity at multiple storage locations. Only available when the product is stored in multiple locations." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:61 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:60 msgid ":guilabel:`Forecast`: access the forecasted report to view on-hand, incoming, and outgoing quantities. Report also contains links to confirmed purchase, sales, or manufacturing orders. Only available when there are confirmed sales, purchase, or manufacturing orders for the product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:75 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:74 msgid ":guilabel:`Published`: display products published on the website. Only available with the *Website* app installed." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:77 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:76 msgid ":guilabel:`Available in POS`: display products available through the *Point of Sale* app." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:78 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:77 msgid ":guilabel:`Available in Self`: display products available in self order through the *Point of Sale* app. Appears in the search because the :guilabel:`Available in Self Order` checkbox was ticked in the :guilabel:`Point of Sale` section of a product form's :guilabel:`Sales` tab. The option is only available when the :guilabel:`Available in POS` checkbox is ticked." msgstr "" @@ -18906,63 +19020,63 @@ msgstr "" msgid "In the Sales tab of a product form, showing *Available in Self Order* setting." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:87 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:86 msgid ":guilabel:`Not available in Self`: display products available in *PoS*, but not available in self order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:91 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:90 msgid "`Configure PoS products `_" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:93 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:92 msgid ":guilabel:`Can be Sold`: display products that can be sold to customers. Appears in the search because the :guilabel:`Can be Sold` checkbox is ticked on the product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:95 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:94 msgid ":guilabel:`Can be Purchased`: display products that can be bought from vendors. Appears in the search because the :guilabel:`Can be Purchased` checkbox is ticked on the product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:97 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:96 msgid ":guilabel:`Can be Recurring`: show subscription products, indicated by ticking the :guilabel:`Recurring` checkbox on the product form. Only available with the *Subscription* app activated." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:100 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:99 msgid ":guilabel:`Can be Rented`: show products that can be loaned to customers for a certain time. Appears in the search because the :guilabel:`Can be Rented` checkbox was ticked on the product form. Only available with the *Rental* app installed." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:103 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:102 msgid ":guilabel:`Can be Subcontracted`: display products that can be produced by a third-party manufacturer. Available only with the *Manufacturing* app installed." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:105 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:104 msgid ":guilabel:`Can be Expensed`: show items that can be expensed. Only available with the *Expenses* app installed." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:109 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:108 msgid ":doc:`../../product_management/configure/type`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:113 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:112 msgid "The :guilabel:`Group By` section allows users to add pre-made and custom groupings to the search results." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:116 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:115 msgid ":guilabel:`Product Type`: group items by :doc:`product type <../../product_management/configure/type>`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:118 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:117 msgid ":guilabel:`Product Category`: group items by product category. To configure these, go to :menuselection:`Inventory app --> Configuration --> Products: Product Categories`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:120 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:119 msgid ":guilabel:`POS Product Category`: group items by :doc:`point of sale product categories <../../../../sales/point_of_sale/configuration>`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:125 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:124 msgid "To save the current applied filters and groupbys, so the same information can be easily accessed after closing this page, click :guilabel:`Save current search`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:128 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/stock.rst:127 msgid "Optionally, tick the :guilabel:`Default filter` checkbox to make this current view the default filter when opening the stock report. Or tick the :guilabel:`Shared` checkbox to make the search option available to other users." msgstr "" @@ -19115,7 +19229,7 @@ msgid "In Odoo *Maintenance*, users can access the *Maintenance Calendar* to cre msgstr "" #: ../../content/applications/inventory_and_mrp/maintenance/maintenance_calendar.rst:16 -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:16 +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:45 msgid "Create maintenance request" msgstr "" @@ -19592,86 +19706,110 @@ msgid "In order to keep equipment and work centers functioning properly, it is o msgstr "" #: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:12 -msgid "In Odoo *Maintenance*, users can create *maintenance requests* to schedule and track the progress of equipment and work center maintenance." +msgid "In Odoo **Maintenance**, users can create *maintenance requests* to schedule and track the progress of equipment and work center maintenance." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:16 +msgid "Maintenance access rights" msgstr "" #: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:18 -msgid "To create a new maintenance request, navigate to :menuselection:`Maintenance app --> Maintenance --> Maintenance Requests`, and click :guilabel:`New`." +msgid "To create a maintenance request for equipment, a user has to have access to the equipment they are submitting the request for. This can be done in one of two ways:" msgstr "" #: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:21 +msgid "If a user is granted :guilabel:`Equipment Manager` level access rights for the **Maintenance** app, they have access to all of the equipment in the app. To view or edit the access rights for a user, navigate to :menuselection:`Settings --> Manager Users` and click a user's profile to open it. On the :guilabel:`Access Rights` tab, scroll to the :guilabel:`Supply Chain` section, and in the :guilabel:`Maintenance` field, select :guilabel:`Equipment Manager` from the drop-down menu." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:0 +msgid "The Supply Chain access rights on a user record." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:30 +msgid "If a user does not require full access to all equipment, they can be assigned as a *Follower* to one or more pieces of equipment. This allows them to create maintenance requests for that piece of equipment, without altering access rights. To add a user as a follower, navigate to :menuselection:`Maintenance --> Equipment --> Machines & Tools`, and click on a piece of equipment to open it. In the *chatter* for the record, click on the :icon:`fa-user` :guilabel:`(user)` icon to open the list of followers. Click :guilabel:`Add Followers`. On the :guilabel:`Add followers to this document` pop-up, select the appropriate user from the :guilabel:`Followers` drop-down. To send a message alerting users that they have been added as a follower, slide the :guilabel:`Notify Recipients` toggle to active. When finished, click :guilabel:`Add Followers`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:0 +msgid "The followers list on an equipment record, with the add followers button highlighted." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:47 +msgid "To create a new maintenance request, navigate to :menuselection:`Maintenance app --> Maintenance --> Maintenance Requests`, and click :guilabel:`New`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:50 msgid "Begin filling out the form by entering a descriptive title in the :guilabel:`Request` field (e.g., `Drill not working`)." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:24 +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:53 msgid "The :guilabel:`Created By` field auto-populates with the user creating the request, but a different user can be selected by clicking on the drop-down menu." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:27 +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:56 msgid "In the :guilabel:`For` drop-down menu, select :guilabel:`Equipment` if the maintenance request is being created for a piece of equipment, or :guilabel:`Work Center` if it is being created for a work center." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:31 +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:60 msgid "Depending on the option selected in the :guilabel:`For` field, the next field is titled either :guilabel:`Equipment` or :guilabel:`Work Center`. Using the drop-down menu for either field, select a piece of equipment or a work center." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:35 -msgid "If the *Custom Maintenance Worksheets* setting is enabled in the *Maintenance* app's settings, a :guilabel:`Worksheet Template` field appears below the :guilabel:`Equipment` or :guilabel:`Work Center` field. If necessary, use this field to select a worksheet to be filled out by the employee performing the maintenance." +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:64 +msgid "If the *Custom Maintenance Worksheets* setting is enabled in the **Maintenance** app's settings, a :guilabel:`Worksheet Template` field appears below the :guilabel:`Equipment` or :guilabel:`Work Center` field. If necessary, use this field to select a worksheet to be filled out by the employee performing the maintenance." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:40 +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:69 msgid "The next field is titled :guilabel:`Request Date`, and is set by default to the date on which the maintenance request is created. This date cannot be changed by the user." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:43 +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:72 msgid "In the :guilabel:`Maintenance Type` field, select the :guilabel:`Corrective` option if the request is intended to fix an existing issue, or the :guilabel:`Preventive` option if the request is intended to prevent issues from occurring in the future." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:47 +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:76 msgid "If the request is being created to address an issue that arose during a specific manufacturing order (MO), select it in the :guilabel:`Manufacturing Order` field." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:50 +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:79 msgid "If an |MO| was selected in the :guilabel:`Manufacturing Order` field, a :guilabel:`Work Order` field appears below it. If the issue arose during a specific work order, specify it in this field." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:53 +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:82 msgid "In the :guilabel:`Team` field, select the maintenance team that is responsible for managing the request. If a specific team member is responsible, select them in the :guilabel:`Responsible` field." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:56 +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:85 msgid "The :guilabel:`Scheduled Date` field is used to specify the date on which maintenance should take place, and the time it should begin. Choose a date by clicking on the field to open a calendar in a pop-up window, and then select a day on the calendar. Enter an hour and minute in the two fields below the calendar, and click :guilabel:`Apply` to save the date and time." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:61 +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:90 msgid "The :guilabel:`Duration` field is used to specify the time it takes to complete the maintenance request. Use the text-entry field to enter the time in a `00:00` format." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:64 +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:93 msgid "If :guilabel:`Work Center` was selected in the :guilabel:`For` field, a :guilabel:`Block Workcenter` checkbox appears below the :guilabel:`Duration` field. Enable the checkbox to prevent work orders or other maintenance from being scheduled at the specified work center while the maintenance request is being processed." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:69 -msgid "The :guilabel:`Priority` field is used to communicate the importance (or urgency) of the maintenance request. Assign the request a priority between zero and three :guilabel:`⭐⭐⭐ (stars)`, by clicking on the desired star number. Requests assigned a higher priority appear above those with a lower priority, on the Kanban board used to track the progression of maintenance requests." +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:98 +msgid "The :guilabel:`Priority` field is used to communicate the importance (or urgency) of the maintenance request. Assign the request a priority between zero and three :icon:`fa-star` :guilabel:`(star)` icons, by clicking on the desired star number. Requests assigned a higher priority appear above those with a lower priority, on the Kanban board used to track the progression of maintenance requests." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:74 +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:104 msgid "In the :guilabel:`Notes` tab at the bottom of the form, enter any relevant details about the maintenance request (why the maintenance issue arose, when it occurred, etc.)." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:77 +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:107 msgid "The :guilabel:`Instructions` tab is used to include instructions for how maintenance should be performed. Select one of the three options, and then include the instructions as detailed below:" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:80 +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:110 msgid ":guilabel:`PDF`: click the :guilabel:`Upload your file` button to open the device's file manager, and then select a file to upload." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:82 +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:112 msgid ":guilabel:`Google Slide`: enter a :guilabel:`Google Slide link` in the text-entry field that appears after the option is selected." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:84 +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:114 msgid ":guilabel:`Text`: enter the instructions in the text-entry field that appears after the option is selected." msgstr "" @@ -19679,23 +19817,23 @@ msgstr "" msgid "A maintenance request form filled out for a piece of equipment." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:92 +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:122 msgid "Process maintenance request" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:94 +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:124 msgid "Once a maintenance request has been created, it appears in the *New Request* stage of the *Maintenance Requests* page, which can be accessed by navigating to :menuselection:`Maintenance app --> Maintenance --> Maintenance Requests`." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:98 +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:128 msgid "Maintenance requests can be moved to different stages by dragging and dropping them. They can also be moved by clicking on a request to open it in a new page, and then selecting the desired stage from the stage indicator bar, located above the top-right corner of the request's form." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:102 +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:132 msgid "Successful maintenance requests should be moved to the :guilabel:`Repaired` stage, indicating that the specified piece of equipment or work center is repaired." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:105 +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_requests.rst:135 msgid "Failed maintenance requests should be moved to the :guilabel:`Scrap` stage, indicating the specified piece of equipment, or work center, could not be repaired, and must instead be scrapped." msgstr "" @@ -25231,7 +25369,7 @@ msgid ":guilabel:`Gray`: a replenishment order has already been generated to kee msgstr "" #: ../../content/applications/inventory_and_mrp/manufacturing/workflows/use_mps.rst:151 -msgid ":guilabel:`Yellow`: a replenishment order has already been generated, but the quantity it was created for is not enough to keep stock at the :guilabel:`Safety Stock Target`." +msgid ":guilabel:`Orange`: a replenishment order has already been generated, but the quantity it was created for is not enough to keep stock at the :guilabel:`Safety Stock Target`." msgstr "" #: ../../content/applications/inventory_and_mrp/manufacturing/workflows/use_mps.rst:153 @@ -26793,6 +26931,112 @@ msgstr "" msgid "To save this report as a *favorite*, see :ref:`search/favorites`." msgstr "" +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:3 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:-1 +msgid "Purchase & Vendor analysis dashboard" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:5 +msgid "The :guilabel:`Purchase & Vendor analysis` dashboard, available in the :doc:`Odoo Dashboards <../../../productivity/dashboards>` app, offers various metrics to evaluate purchasing performance and vendor reliability." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:9 +msgid "The dashboard tracks financial data like total and average purchase amounts and the number of purchase orders. It also provides KPIs for supplier performance, such as the average time to receive products and the percentage of quantities received on time. This makes it possible to rank vendors and optimize procurement strategy accordingly." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:14 +msgid "To access the :guilabel:`Purchase & Vendor analysis` dashboard, go to the Dashboards app, then, in the left panel, navigate to the :guilabel:`Logistics` section and click the name of the dashboard. The dashboard opens in the main view." +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." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:40 +msgid "For a more precise analysis, filter the dashboard by vendor via the search bar." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:42 +msgid "Eight cards at the top of the dashboard show the following information:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:44 +msgid ":guilabel:`Purchased value`: indicates the total value of purchases during the selected period." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:45 +msgid ":guilabel:`Average order value`: indicates the average purchase amount per order during the selected period." +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." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:48 +msgid ":guilabel:`Quantity ordered`: indicates the quantity of products ordered during the selected period." +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)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:55 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:82 +msgid "The expected arrival date is not impacted by a change to the scheduled date on the receipt." +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)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:60 +msgid ":guilabel:`Supplier service level`: indicates the quantity received versus the quantity purchased, as a percentage." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:64 +msgid "This KPI is impacted by purchases with future expected receipts." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:66 +msgid ":guilabel:`On time deliveries`: indicates the percentage of products received on time (based on the expected arrival date on purchase order lines)" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:71 +msgid ":guilabel:`Purchase Value by confirmation date`: shows the total value of confirmed purchases by date." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:73 +msgid ":guilabel:`% On time deliveries by vendor`: shows the percentage of products received on time, by vendor (based on expected arrival on purchase order lines.)" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:75 +msgid ":guilabel:`Top vendors by amount`: shows the ranking of vendors by total value of purchase orders and number of purchase orders." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:77 +msgid ":guilabel:`Top vendors by lead time in days`: shows the average number of days required to receive purchased products, by vendor (:guilabel:`Order deadline purchase order` - :guilabel:`Expected arrival purchase order line`)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:84 +msgid ":guilabel:`Average product purchased cost by confirmation week`: shows the average unit cost of products purchased, by week in which the purchase order is confirmed." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:86 +msgid ":guilabel:`Top purchase orders by value`: lists the ten purchase orders with the highest total value, in descending order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:88 +msgid ":guilabel:`Top 10 late receipts`: lists the ten receipts with the longest delay after the expected receipt date." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:90 +msgid ":guilabel:`Top purchased products`: lists the ten products with the highest total purchase amount, in descending order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:92 +msgid ":guilabel:`Supplier Dependency Chart`: shows the percentage of purchases by buyer." +msgstr "" + #: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:3 msgid "Suggest quantities based on historical demand" msgstr "" @@ -27658,7 +27902,7 @@ msgid "The control policy is selected on the *Product* record." msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/manage_deals/control_bills.rst:19 -msgid "To configure the control policy for a product, navigate to :menuselection:`Purchse app --> Prodcuts --> Products`, then click on a product record to open it. Click to the :guilabel:`Purchase` tab. Scroll to the :guilabel:`Vendor Bills` section. Under :guilabel:`Control Policy`, tick the radio button for either :guilabel:`On ordered quantities` or :guilabel:`On recieved quantities`." +msgid "To configure the control policy for a product, navigate to :menuselection:`Purchase app --> Products --> Products`, then click on a product record to open it. Click to the :guilabel:`Purchase` tab. Scroll to the :guilabel:`Vendor Bills` section. Under :guilabel:`Control Policy`, tick the radio button for either :guilabel:`On ordered quantities` or :guilabel:`On recieved quantities`." msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/manage_deals/control_bills.rst:24 diff --git a/locale/sources/marketing.pot b/locale/sources/marketing.pot index 2a1f1450f4..ebfa2e36bf 100644 --- a/locale/sources/marketing.pot +++ b/locale/sources/marketing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 19.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-20 14:56+0200\n" +"POT-Creation-Date: 2025-11-19 09:34+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -9041,11 +9041,11 @@ msgid "Survey text colors are directly linked to the colors used for the :doc:`w msgstr "" #: ../../content/applications/marketing/surveys/scoring.rst:5 -msgid "To measure a survey participant's performance, knowledge, or overall satisfaction, Odoo ascribes points to survey answers. At the end of the survey, these points are summed up, resulting in the participant's final score." +msgid "To measure a survey participant's performance, knowledge, or overall satisfaction, Odoo assigns points to survey answers. At the end of the survey, these points are summed up, resulting in the participant's final score." msgstr "" #: ../../content/applications/marketing/surveys/scoring.rst:9 -msgid "To add points to questions, open the :guilabel:`Surveys` application, choose the desired survey form, and then click on the :guilabel:`Options` tab. Under the :guilabel;`Scoring` section, choose between :guilabel:`Scoring with answers at the end` or :guilabel:`Scoring without answers at the end`." +msgid "To add points to questions, open the :guilabel:`Surveys` application, choose the desired survey form, and then click on the :guilabel:`Options` tab. Under the :guilabel:`Scoring` section, choose between :guilabel:`Scoring with answers at the end` or :guilabel:`Scoring without answers at the end`." msgstr "" #: ../../content/applications/marketing/surveys/scoring.rst:14 diff --git a/locale/sources/productivity.pot b/locale/sources/productivity.pot index 8a120080f4..567302c558 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-10-20 14:56+0200\n" +"POT-Creation-Date: 2025-11-19 09:34+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -20,5940 +20,6962 @@ msgstr "" msgid "Productivity" msgstr "" -#: ../../content/applications/productivity/appointments.rst:6 -msgid "Appointments" +#: ../../content/applications/productivity/ai.rst:6 +msgid "AI" msgstr "" -#: ../../content/applications/productivity/appointments.rst:8 -msgid "Odoo's **Appointments** app is a self-service scheduling app that simplifies the process of booking meetings, consultations, or services. Integrated with Odoo's suite of business apps, it allows companies to automate appointment scheduling, reduce manual coordination, and provide a seamless experience for clients. Appointments can be linked to calendars, **CRM** opportunities, employee schedules, and more, making it an ideal tool for service-based businesses seeking efficiency and organization." +#: ../../content/applications/productivity/ai.rst:10 +msgid "Artificial intelligence (AI) in Odoo enhances productivity across all apps by providing intelligent, context-aware assistance. It helps users work faster, make better decisions, and automate routine tasks, all while staying within the familiar Odoo interface." msgstr "" -#: ../../content/applications/productivity/appointments.rst:16 -#: ../../content/applications/productivity/appointments/create-opps.rst:13 -#: ../../content/applications/productivity/dashboards.rst:126 -#: ../../content/applications/productivity/documents.rst:39 -#: ../../content/applications/productivity/spreadsheet/insert.rst:590 -#: ../../content/applications/productivity/voip/axivox/axivox_config.rst:17 -#: ../../content/applications/productivity/voip/onsip.rst:33 -msgid "Configuration" +#: ../../content/applications/productivity/ai.rst:15 +msgid "Ask AI" msgstr "" -#: ../../content/applications/productivity/appointments.rst:18 -msgid "The **Appointments** app allows for new appointments to be scheduled based on the availability of users, or the availability of *resources*, such as meeting rooms or seating areas. To create a new resource, or manage existing resources, navigate to :menuselection:`Appointments --> Configuration --> Resources`. This opens a list of the available resources in the database, as well as their individual capacity." +#: ../../content/applications/productivity/ai.rst:17 +msgid "The :guilabel:`Ask AI` feature allows users to receive assistance anywhere in an Odoo database. It understands natural language and can answer questions, open views, and improve content." msgstr "" -#: ../../content/applications/productivity/appointments.rst:27 -msgid "Resources" +#: ../../content/applications/productivity/ai.rst:20 +msgid "To enter a prompt from anywhere in the database, enter :kbd:`Ctrl` + :kbd:`k` to open the command palette. From here, type in a prompt, then click the |AI| icon or hit enter. This opens a conversation window with the *Ask AI* agent." msgstr "" -#: ../../content/applications/productivity/appointments.rst:29 -msgid "Click :guilabel:`New` to create a new resource. On the blank record, enter a :guilabel:`Name` for the new resource. In the :guilabel:`Capacity` field, enter the maximum number of people the resource can accommodate. Then, confirm the :guilabel:`Timezone` for this resource." +#: ../../content/applications/productivity/ai.rst:-1 +msgid "An open command palatte with a prompt." msgstr "" -#: ../../content/applications/productivity/appointments.rst:33 -msgid "If desired, select one or more :guilabel:`Linked Resource` from the drop-down. This option designates one or more resources that can be used in combination to handled a bigger demand." +#: ../../content/applications/productivity/ai.rst:28 +msgid "The *Ask AI* agent is instructed not to display an error to a user. If it is unable to complete the requested query, it responds that it is unable to complete the request at that time." msgstr "" -#: ../../content/applications/productivity/appointments.rst:37 -msgid "*Linked resources* are only used when using the :ref:`auto-assign ` :guilabel:`Assignment Method`." +#: ../../content/applications/productivity/ai.rst:31 +msgid "After the agent has responded, hover over the response to do one of the following:" msgstr "" -#: ../../content/applications/productivity/appointments.rst:40 -msgid "Lastly, add a :guilabel:`Description` for this resource." +#: ../../content/applications/productivity/ai.rst:33 +msgid ":guilabel:`Send as Message`: opens an email pop-up with the contents of the response in the body of the message. The message can be edited before it is sent." msgstr "" -#: ../../content/applications/productivity/appointments.rst:43 -msgid "The contents of the :guilabel:`Description` tab are visible to customers when booking an appointment online." +#: ../../content/applications/productivity/ai.rst:35 +msgid ":guilabel:`Log as Note`: opens a chatter pop-up with the contents of the response. The note can be edited before it is logged as a note." msgstr "" -#: ../../content/applications/productivity/appointments.rst:49 -msgid "Appointment type configuration" +#: ../../content/applications/productivity/ai.rst:37 +msgid ":icon:`fa-copy` :guilabel:`(Copy)`: copies the contents of the response to the clipboard." msgstr "" -#: ../../content/applications/productivity/appointments.rst:51 -msgid "Before appointments can be scheduled or booked, an appointment type must be created. Navigate to the :menuselection:`Appointments` app dashboard and click :guilabel:`New`. On the new blank record, enter an :guilabel:`Appointment Title`, then set a :guilabel:`Duration` for this appointment type." +#: ../../content/applications/productivity/ai.rst:0 +msgid "A response from an agent with the send, log, and copy options visible." msgstr "" -#: ../../content/applications/productivity/appointments.rst:55 -msgid "Next, set a :guilabel:`Pre-Booking Time`. This is the minimum amount of time between when an appointment can be booked and when the appointment can begin. If the :guilabel:`Pre-Booking Time` is `1` hour, appointments must be booked *at least* `1` hour in advance." +#: ../../content/applications/productivity/ai.rst:43 +msgid "These options are pre-configured *Default Prompts*. The default prompts can be edited, and new prompts can be added through the **AI** application." msgstr "" -#: ../../content/applications/productivity/appointments.rst:60 -msgid "An appointment type is created for `Tennis Courts`, with a :guilabel:`Duration` of `1` hour, and a :guilabel:`Pre-Booking Time` of `1` hour. At `02:00` PM, a customer attempts to book an appointment for the same day at `02:45` pm. The first available time is `04:00` pm." +#: ../../content/applications/productivity/ai.rst:47 +msgid "To open the conversation with the agent in the **Discuss** app, click on the header of the conversation window, then click :icon:`fa-expand` :guilabel:`Open in Discuss`." msgstr "" -#: ../../content/applications/productivity/appointments.rst:0 -msgid "An example of the booking calendar showing available times." +#: ../../content/applications/productivity/ai.rst:0 +msgid "The header of a conversation window with the open in discuss option visible." msgstr "" -#: ../../content/applications/productivity/appointments.rst:67 -msgid "Select a :guilabel:`Scheduling Window`:" +#: ../../content/applications/productivity/ai.rst:54 +msgid "AI button" msgstr "" -#: ../../content/applications/productivity/appointments.rst:69 -msgid "Select :guilabel:`Available now` to allow customers to book an appointment immediately. Use the :guilabel:`Up to X days into the future` field to define how far in advance customers can schedule appointments. For example, if `14` is entered, customers cannot book anything more than 14 days from the current date." +#: ../../content/applications/productivity/ai.rst:56 +msgid "In addition to the command palette, the |AI| button can be utilized to open a conversation with the *Ask AI* agent as well. The |AI| button is located in the top-right corner of the screen and is available throughout the database regardless of what app the user is currently using." msgstr "" -#: ../../content/applications/productivity/appointments.rst:73 -msgid "Select :guilabel:`Within a date range` to limit bookings to a specific range of dates. After selecting this option, click the :guilabel:`From` and :guilabel:`to` fields, and use the calendar pop-up window to customize the date and time range." +#: ../../content/applications/productivity/ai.rst:60 +msgid "After clicking the |AI| button, a conversation window opens with the *Ask AI* agent. Either type a request in the message field or click one of the preconfigured message prompts." msgstr "" -#: ../../content/applications/productivity/appointments.rst:77 -msgid "Update the :guilabel:`Allow Cancelling` field to limit the amount of time before an appointment where a customer can cancel. If this setting is enabled, customers are unable to cancel within the designated time frame." +#: ../../content/applications/productivity/ai.rst:66 +msgid "The AI button opens a window that includes suggested conversation prompts." msgstr "" -#: ../../content/applications/productivity/appointments.rst:82 -msgid "If a customer does try to cancel within the time frame, they receive an error message with contact information. If the appointment is for a resource, the contact details are for the user that created the appointment type. If the appointment is for a user, the contact details are for the user the appointment is with." +#: ../../content/applications/productivity/ai.rst:66 +msgid "The AI button opens a window that includes suggested conversation prompts. The prompts vary based on where in the database the button was clicked." msgstr "" -#: ../../content/applications/productivity/appointments.rst:0 -msgid "An example of the message a customer sees when cancelling." +#: ../../content/applications/productivity/ai.rst:70 +msgid "Common requests" msgstr "" -#: ../../content/applications/productivity/appointments.rst:90 -msgid "Next, designate whether this appointment type is based on :guilabel:`Users` or :guilabel:`Resources`, by selecting the appropriate radio button. If it is based on users, select one or more :guilabel:`Users` in the drop-down. If it is based on :ref:`resources `, select one or more :guilabel:`Resources` in the drop-down." +#: ../../content/applications/productivity/ai.rst:72 +msgid "Below are some common requests that the *Ask AI* agent can assist with:" msgstr "" -#: ../../content/applications/productivity/appointments.rst:96 -msgid "User-based appointment types can be used for scheduling sales meetings and demos, as well as recruiting interviews." +#: ../../content/applications/productivity/ai.rst:74 +msgid "Translation: *Translate the most recent chatter message*" msgstr "" -#: ../../content/applications/productivity/appointments.rst:99 -msgid "Resource-based appointment types can be used for scheduling time in specific rooms or locations." +#: ../../content/applications/productivity/ai.rst:75 +msgid "Summarize: *Summarize this chatter thread*" msgstr "" -#: ../../content/applications/productivity/appointments.rst:101 -msgid "Selecting :guilabel:`Resources` in the :guilabel:`Availability on` field reveals the :guilabel:`Manage Capacities` option. If selected, the appointment limits the number of participants based on the capacity of the resources selected." +#: ../../content/applications/productivity/ai.rst:76 +msgid "Text generation: *Generate a follow-up message*" msgstr "" -#: ../../content/applications/productivity/appointments.rst:105 -msgid "Choose an :guilabel:`Assignment Method` by selecting the appropriate radio button:" +#: ../../content/applications/productivity/ai.rst:77 +msgid "Improve: *Improve this message draft*" msgstr "" -#: ../../content/applications/productivity/appointments.rst:107 -msgid ":guilabel:`Pick User/Resource then Time`: customers select from a list of available users/resources, then select an open time slot." +#: ../../content/applications/productivity/ai.rst:78 +msgid "Suggest: *Suggest next steps for the sales rep/support agent*" msgstr "" -#: ../../content/applications/productivity/appointments.rst:109 -msgid ":guilabel:`Select Time then User/Resource`: customers choose a date and time, then select from the list of available users/resources." +#: ../../content/applications/productivity/ai.rst:81 +msgid "The standard *Ask AI* agent **cannot** make changes to the database. As such, it can open views and display reports, but it cannot create leads or alter data. For more information on customizing agents to complete tasks, see :ref:`Topics `." msgstr "" -#: ../../content/applications/productivity/appointments.rst:111 -msgid ":guilabel:`Select Time then auto-assign`: customers select a time slot and are automatically assigned a user/resource." +#: ../../content/applications/productivity/ai/agents.rst:3 +msgid "AI agents" msgstr "" -#: ../../content/applications/productivity/appointments.rst:115 -#: ../../content/applications/productivity/calendar.rst:208 -msgid "Schedule tab" +#: ../../content/applications/productivity/ai/agents.rst:5 +msgid "An AI agent is a smart assistant in Odoo that can understand natural language, perform tasks, and assist users by interacting with Odoo tools. Agents are a core component of the AI structure in Odoo. Each agent has a defined purpose, prompt, and a set of topics and tools that guide its behavior." msgstr "" -#: ../../content/applications/productivity/appointments.rst:117 -msgid "The :guilabel:`Schedule` tab is used to outline when this appointment type is to be made available. The settings define the time slots shown on the booking page." +#: ../../content/applications/productivity/ai/agents.rst:10 +msgid "Agents are formed of two main components, *Topics* and *Sources*." msgstr "" -#: ../../content/applications/productivity/appointments.rst:120 -msgid "Click :guilabel:`Add a line` to create a new time frame. Select a day of the week from the :guilabel:`Every` drop-down menu, then update the times in the :guilabel:`From` and :guilabel:`To` fields. Click the :icon:`fa-trash-o` :guilabel:`(trash)` icon to delete an entry. Multiple entries can be included for a single day." +#: ../../content/applications/productivity/ai/agents.rst:12 +msgid "*Topics* are the instructions and roles that inform the agent of what tasks they need to complete. *Tools* are assigned to topics, and are the actual functions the agent can utilize to perform tasks." msgstr "" -#: ../../content/applications/productivity/appointments.rst:126 -msgid "If an appointment should not be available at specific times, such as when users are taking lunch, include time slots before and after." +#: ../../content/applications/productivity/ai/agents.rst:15 +msgid "*Sources* provide the agent with the information they need to complete their tasks." msgstr "" -#: ../../content/applications/productivity/appointments.rst:0 -msgid "An example of the Schedule tab in an appointment." +#: ../../content/applications/productivity/ai/agents.rst:18 +msgid "While many AI features can be used in Odoo without the **AI** application, creating and customizing agents requires that the **AI** application is installed." msgstr "" -#: ../../content/applications/productivity/appointments.rst:133 -#: ../../content/applications/productivity/calendar.rst:221 -msgid "Options tab" +#: ../../content/applications/productivity/ai/agents.rst:24 +msgid "AI prompts in Odoo" msgstr "" -#: ../../content/applications/productivity/appointments.rst:135 -msgid "The :guilabel:`Options` tab is used to customize the display options for this appointment, as well as notification settings for customers and users." +#: ../../content/applications/productivity/ai/agents.rst:26 +msgid "Before working with AI agents, it is important to understand some basics concepts regarding AI prompts." msgstr "" -#: ../../content/applications/productivity/appointments.rst:138 -msgid "The :guilabel:`Front-End Display` field determines how the appointment is presented on the website to customers. Select the :guilabel:`Show Pictures` radio button to publish the default pictures of the user or resources for this appointment on the website." +#: ../../content/applications/productivity/ai/agents.rst:29 +msgid "An AI prompt is a set of written instructions or context given to an AI model that tells it how to respond to a request, or what role to take. Prompts can define:" msgstr "" -#: ../../content/applications/productivity/appointments.rst:142 -msgid "The :guilabel:`Timezone` and :guilabel:`Location` fields automatically populate for resource appointments, based on where the resource is located. For user-based appointments, the :guilabel:`Location` field defaults to an `Online Meeting`, with a :guilabel:`Videoconference Link` automatically generated. If this should not be an online meeting, select a different option in the :guilabel:`Location` field." +#: ../../content/applications/productivity/ai/agents.rst:32 +msgid "the tone, style, and persona of the AI model" msgstr "" -#: ../../content/applications/productivity/appointments.rst:148 -msgid "Tick the :guilabel:`Manual Confirmation` checkbox to require approval before a meeting is accepted. If this feature is enabled, the appointment time slot is still considered *reserved* until it is confirmed or rejected. Leave this checkbox blank to automatically accept meetings created from this appointment." +#: ../../content/applications/productivity/ai/agents.rst:33 +msgid "the scope of what the model can do" msgstr "" -#: ../../content/applications/productivity/appointments.rst:153 -msgid "The :doc:`Create Opportunities ` feature adds an opportunity to the **CRM** app for each scheduled appointment, which is assigned to the responsible user. Tick the :guilabel:`Create Opportunities` checkbox to enable this option." +#: ../../content/applications/productivity/ai/agents.rst:34 +msgid "the type of output expected from the request" msgstr "" -#: ../../content/applications/productivity/appointments.rst:158 -msgid "This field is only visible if the **CRM** app is installed on the database." +#: ../../content/applications/productivity/ai/agents.rst:36 +msgid "In Odoo, each AI agent is assigned a :guilabel:`System Prompt`, which defines the agent's overall role, purpose, and behavior. It acts as the core mission statement of the agent, and drives all interactions." msgstr "" -#: ../../content/applications/productivity/appointments.rst:160 -msgid "The :guilabel:`Reminders` field is used to set how customers are to be contacted before the appointment time. Select one or more options from the drop-down, based on the communication method, and the time frame." +#: ../../content/applications/productivity/ai/agents.rst:40 +msgid "Each :ref:`Topic ` also includes its own prompt-like component, called :guilabel:`Instructions`. Instructions are topic-specific guidelines that refine how the agent behaves within a certain context or workflow, and how it interacts within the Odoo framework." msgstr "" -#: ../../content/applications/productivity/appointments.rst:164 -msgid "Tick the :guilabel:`Allow Guests` checkbox to grant customers the ability to add additional guests when registering for an appointment." +#: ../../content/applications/productivity/ai/agents.rst:44 +msgid "Instructions often include:" msgstr "" -#: ../../content/applications/productivity/appointments.rst:170 -#: ../../content/applications/productivity/calendar.rst:260 -msgid "Questions tab" +#: ../../content/applications/productivity/ai/agents.rst:46 +msgid "A purpose, or what the topic covers" msgstr "" -#: ../../content/applications/productivity/appointments.rst:172 -msgid "The :guilabel:`Questions` tab can be used to prompt customers for additional information while they are booking an appointment. Click :guilabel:`Add a line` to add a new question." +#: ../../content/applications/productivity/ai/agents.rst:47 +msgid "Rules or constraints for the agent to follow when assigned this topic" msgstr "" -#: ../../content/applications/productivity/appointments.rst:175 -msgid "On the :guilabel:`Create Questions` pop-up window, enter the :guilabel:`Question`, then choose an :guilabel:`Answer Type`." +#: ../../content/applications/productivity/ai/agents.rst:48 +msgid "Step-by-step workflows for how to complete a specfic action" msgstr "" -#: ../../content/applications/productivity/appointments.rst:178 -msgid "Tick the :guilabel:`Mandatory Answer` checkbox to require customers to answer this question before they are allowed to book an appointment. Click :guilabel:`Save & New` to add another question, or :guilabel:`Save & Close` when finished." +#: ../../content/applications/productivity/ai/agents.rst:49 +msgid "Technical details needed to complete any actions" msgstr "" -#: ../../content/applications/productivity/appointments.rst:183 -#: ../../content/applications/productivity/calendar.rst:274 -msgid "Messages tab" +#: ../../content/applications/productivity/ai/agents.rst:52 +msgid "Agent structure" msgstr "" -#: ../../content/applications/productivity/appointments.rst:185 -msgid "The :guilabel:`Messages` tab is used by the business to provide additional information to customers regarding this appointment type." +#: ../../content/applications/productivity/ai/agents.rst:57 +msgid "Topics" msgstr "" -#: ../../content/applications/productivity/appointments.rst:189 -msgid "The content in the :guilabel:`Messages` tab is visible to customers and website visitors." +#: ../../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." msgstr "" -#: ../../content/applications/productivity/appointments.rst:191 -msgid "In the :guilabel:`Introduction Message` field, add a short description of the appointment type. This can include the topic of the appointment, a meeting agenda, or an introduction to the users responsible for the meeting." +#: ../../content/applications/productivity/ai/agents.rst:64 +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/appointments.rst:195 -msgid "The :guilabel:`Extra Message on Confirmation` is displayed to a customer after they have booked a meeting. Add any additional information here that the customer should be aware of. This can include parking information, last minute rules, or additional instructions." +#: ../../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" msgstr "" -#: ../../content/applications/productivity/appointments.rst:200 -msgid "Publishing an appointment" +#: ../../content/applications/productivity/ai/agents.rst:71 +msgid "The following topics are preconfigured in the **AI** app:" msgstr "" -#: ../../content/applications/productivity/appointments.rst:202 -msgid "When an appointment is ready to publish, click the :guilabel:`Go to Website` smart button at the top of the record. Then, slide the :icon:`fa-toggle-off` :guilabel:`Unpublished` icon to :icon:`fa-toggle-on` :guilabel:`Published`." +#: ../../content/applications/productivity/ai/agents.rst:73 +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/appointments/create-opps.rst:3 -msgid "Create opportunities from appointments" +#: ../../content/applications/productivity/ai/agents.rst:75 +msgid ":guilabel:`Information retrieval`: a collection of tools to retrieve information about the models." msgstr "" -#: ../../content/applications/productivity/appointments/create-opps.rst:5 -msgid "When creating a new appointment type in the **Appointments** application, users have the option to create new *opportunities* with information from new bookings. This option captures information from scheduled appointments and creates opportunities in the **CRM** app." +#: ../../content/applications/productivity/ai/agents.rst:76 +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/appointments/create-opps.rst:10 -msgid "This option is only available if the **CRM** application is installed on the database." +#: ../../content/applications/productivity/ai/agents.rst:79 +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/appointments/create-opps.rst:15 -msgid "Navigate to the **Appointments** app dashboard. Click :guilabel:`New` to :doc:`create a new appointment type <../appointments>`. To edit an existing appointment type, click :icon:`fa-cog` :guilabel:`Action` at the far-right of the appointment line, to open the drop-down menu, then click :icon:`fa-pencil` :guilabel:`Edit`." +#: ../../content/applications/productivity/ai/agents.rst:86 +msgid "Tools" msgstr "" -#: ../../content/applications/productivity/appointments/create-opps.rst:-1 -msgid "The edit button on an appointment type record." +#: ../../content/applications/productivity/ai/agents.rst:88 +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/appointments/create-opps.rst:23 -msgid "On the appointment type record, click the :guilabel:`Options` tab, and tick the :guilabel:`Create Opportunities` checkbox." +#: ../../content/applications/productivity/ai/agents.rst:94 +msgid "Sources" msgstr "" -#: ../../content/applications/productivity/appointments/create-opps.rst:-1 -msgid "The options tab on an appointment type form." +#: ../../content/applications/productivity/ai/agents.rst:96 +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/appointments/create-opps.rst:30 -msgid "Add questions" +#: ../../content/applications/productivity/ai/agents.rst:100 +msgid "An agent designed to answer customer support questions has **Knowledge** articles included as sources, which include frequently asked questions." msgstr "" -#: ../../content/applications/productivity/appointments/create-opps.rst:32 -msgid "The :guilabel:`Questions` tab allows users to :ref:`add questions ` to the appointment booking page. When customers are booking an appointment slot, they are prompted to answer these questions. The information provided by customers is available in the :ref:`new opportunity `. Adding questions to the appointment type is optional. However, the additional information captured by the questions can be useful later in the sales pipeline." +#: ../../content/applications/productivity/ai/agents.rst:103 +msgid "Sources can be in the following formats:" msgstr "" -#: ../../content/applications/productivity/appointments/create-opps.rst:39 -msgid "A furniture company creates a new appointment type for sales demos. Customers reserve time with salespeople to discuss their furniture and design needs. However, because the time is limited to only thirty minute increments, salespeople do not have the time to show all of the available furniture styles in every call. They add questions to the appointment type to prompt customers to provide additional information about the products and services they are interested in. Not only does this help when preparing for the demo, it also provides clarity further along in the sales process." +#: ../../content/applications/productivity/ai/agents.rst:105 +msgid "PDFs" msgstr "" -#: ../../content/applications/productivity/appointments/create-opps.rst:0 -msgid "An appointment booking form with custom questions." +#: ../../content/applications/productivity/ai/agents.rst:106 +msgid "Weblinks" msgstr "" -#: ../../content/applications/productivity/appointments/create-opps.rst:53 -msgid "Viewing the new opportunity" +#: ../../content/applications/productivity/ai/agents.rst:107 +msgid "Documents (uploaded in the **Documents** application)" msgstr "" -#: ../../content/applications/productivity/appointments/create-opps.rst:55 -msgid "To view opportunities created from appointments, navigate to the :menuselection:`CRM` app dashboard. If necessary, remove any filters from the search bar. Then, click the Kanban card for the appropriate opportunity to open it." +#: ../../content/applications/productivity/ai/agents.rst:108 +msgid "**Knowledge** app articles" msgstr "" -#: ../../content/applications/productivity/appointments/create-opps.rst:59 -msgid "The contact information from the appointment is added to the opportunity record. The answers the customer provided to the optional questions are included in the :guilabel:`Internal Notes` tab. The scheduled appointment is listed in the *Chatter* of the record, and can be edited from there." +#: ../../content/applications/productivity/ai/agents.rst:111 +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/appointments/create-opps.rst:-1 -msgid "The chatter of an opportunity in the CRM with the scheduled appointment information." +#: ../../content/applications/productivity/ai/agents.rst:115 +msgid "Create a new agent" msgstr "" -#: ../../content/applications/productivity/appointments/create-opps.rst:67 -msgid "If an opportunity is created from a :ref:`resource based ` appointment type, the user who created the appointment type is listed as the :guilabel:`Salesperson` for the opportunity. If it is created from a user based appointment, the user the appointment is scheduled with is assigned as the :guilabel:`Salesperson`." +#: ../../content/applications/productivity/ai/agents.rst:117 +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/calendar.rst:5 -msgid "Calendar" +#: ../../content/applications/productivity/ai/agents.rst:121 +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/calendar.rst:7 -msgid "Odoo **Calendar** is a scheduling app that allows users to integrate a company's business flow into a single management platform. By integrating with the other apps in Odoo's ecosystem, **Calendar** allows users to schedule and organize meetings, schedule events, plan employee appraisals, coordinate projects, and more – all from the same platform." +#: ../../content/applications/productivity/ai/agents.rst:125 +msgid "Select an :guilabel:`LLM Model` from the drop-down menu." msgstr "" -#: ../../content/applications/productivity/calendar.rst:12 -msgid "Upon opening the :menuselection:`Calendar app`, users have an overview of their current meetings. The selected view option appears as a :guilabel:`Day`, :guilabel:`Week`, :guilabel:`Month`, or :guilabel:`Year` drop-down menu. Under the view options drop-down menu, users can also enable or disable :guilabel:`Show weekends`." +#: ../../content/applications/productivity/ai/agents.rst:128 +msgid "Odoo supports multiple versions of both ChatGPT and Gemini." msgstr "" -#: ../../content/applications/productivity/calendar.rst:-1 -msgid "Overview of Calendar app." +#: ../../content/applications/productivity/ai/agents.rst:130 +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/calendar.rst:21 -msgid "Depending on the selected view option, users can click the :icon:`oi-arrow-left` :icon:`oi-arrow-right` :guilabel:`(left or right arrow)` buttons to switch between days, weeks, etc., and switch back to the current day with the :guilabel:`Today` button." +#: ../../content/applications/productivity/ai/agents.rst:133 +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/calendar.rst:26 -msgid "Sync third-party calendars" +#: ../../content/applications/productivity/ai/agents.rst:136 +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/calendar.rst:28 -msgid "Users can sync Odoo with existing :doc:`Outlook ` and/or :doc:`Google ` calendars, by heading to :menuselection:`Calendar app --> Configuration --> Settings`. From here, enter :guilabel:`Client ID` and :guilabel:`Client Secret`. There is also an option to pause synchronization by ticking the checkbox, or automating synchronization by keeping it blank." +#: ../../content/applications/productivity/ai/agents.rst:138 +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/calendar.rst:34 -msgid "Once the desired configurations are complete, be sure to click :guilabel:`Save` before moving on." +#: ../../content/applications/productivity/ai/agents.rst:142 +msgid "Tick the :guilabel:`Restrict to Sources` checkbox to limit the agent to **only** respond based on the provided resources." msgstr "" -#: ../../content/applications/productivity/calendar.rst:36 -msgid "Events created in synced calendars automatically appear across the integrated platforms." +#: ../../content/applications/productivity/ai/agents.rst:145 +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/calendar.rst:39 -msgid ":doc:`Synchronize Outlook calendar with Odoo `" +#: ../../content/applications/productivity/ai/agents.rst:149 +msgid "Enter a :guilabel:`System Prompt` with detailed instructions for the agent as to their role and responsibilities." msgstr "" -#: ../../content/applications/productivity/calendar.rst:40 -msgid ":doc:`Synchronize Google calendar with Odoo `" +#: ../../content/applications/productivity/ai/agents.rst:153 +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 "" -#: ../../content/applications/productivity/calendar.rst:43 -msgid "Create activities from chatter" +#: ../../content/applications/productivity/ai/agents.rst:-1 +msgid "A new agent form with the required information." msgstr "" -#: ../../content/applications/productivity/calendar.rst:45 -msgid "Instantly create new meetings anywhere in Odoo through an individual record's chatter, like in a **CRM** opportunity card or task in the **Projects** app." +#: ../../content/applications/productivity/ai/agents.rst:159 +msgid "If *Sources* are needed for the agent, scroll to the :guilabel:`Sources` tab, then click :guilabel:`Add a source`." msgstr "" -#: ../../content/applications/productivity/calendar.rst:48 -msgid "From the chatter, click on the :guilabel:`Activities` button. In the :guilabel:`Schedule Activity` pop-up window, select the desired :guilabel:`Activity Type`, which populates a set of buttons, depending on the activity." +#: ../../content/applications/productivity/ai/agents.rst:162 +msgid "Select a format:" msgstr "" -#: ../../content/applications/productivity/calendar.rst:52 -msgid "Activities that involve other schedules, like :guilabel:`Meeting` or :guilabel:`Call for Demo`, link to the **Calendar** app. Select one of these activities to link to the **Calendar** app, then hit :guilabel:`Open Calendar` to navigate back to the app. Alternatively, it is also possible to :guilabel:`Schedule & Mark as Done` to close out the activity, or select :guilabel:`Done & Schedule Next` to keep the :guilabel:`Schedule Activity` window open to create another." +#: ../../content/applications/productivity/ai/agents.rst:164 +msgid "PDFs: Select the appropriate file from the explorer window, and click :guilabel:`Open`" msgstr "" -#: ../../content/applications/productivity/calendar.rst:59 -msgid ":doc:`Schedule activities in Odoo <../essentials/activities>`" +#: ../../content/applications/productivity/ai/agents.rst:165 +msgid "Weblinks: paste the URL. Multiple links can be added at once, paste one link per line. Click :guilabel:`Save`." msgstr "" -#: ../../content/applications/productivity/calendar.rst:62 -msgid "Plan an event" +#: ../../content/applications/productivity/ai/agents.rst:167 +msgid "Documents (uploaded in the **Documents** application): Tick the checkbox next to one or more documents, then click :guilabel:`Select`." msgstr "" -#: ../../content/applications/productivity/calendar.rst:64 -msgid "To put an event on the calendar, open the :menuselection:`Calendar app`, and click into the target date. On the :guilabel:`New Event` pop-up window that appears, start by adding the event title." +#: ../../content/applications/productivity/ai/agents.rst:169 +msgid "**Knowledge** app articles: Tick the checkbox next to one or more articles, then click :guilabel:`Select`." msgstr "" -#: ../../content/applications/productivity/calendar.rst:-1 -msgid "Schedule an event window on Calendar app." +#: ../../content/applications/productivity/ai/agents.rst:172 +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 "" -#: ../../content/applications/productivity/calendar.rst:70 -msgid "The target date auto-populates in the :guilabel:`Start` field. This can be changed by clicking into the date section, and selecting a date from the calendar. For multi-day events, select the end date in the second field, then click :guilabel:`Apply`." +#: ../../content/applications/productivity/ai/agents.rst:-1 +msgid "A list of sources for an agent, each denoted with their format." msgstr "" -#: ../../content/applications/productivity/calendar.rst:74 -msgid "Tick the :guilabel:`All Day` checkbox if there is no specific start or end time." +#: ../../content/applications/productivity/ai/agents.rst:180 +msgid "If a source fails to upload, it could be the result of a conflict with the selected LLM model." msgstr "" -#: ../../content/applications/productivity/calendar.rst:76 -msgid "For events with specific start and stop times, ensure the :guilabel:`All Day` checkbox is unticked to enable time selection. With the :guilabel:`All Day` checkbox unticked, time selections appear in the :guilabel:`Start` field." +#: ../../content/applications/productivity/ai/agents.rst:182 +msgid "Click the :guilabel:`Test` button to open a conversation window and test the new agent." msgstr "" -#: ../../content/applications/productivity/calendar.rst:80 -msgid "The signed-in user auto-populates as the first attendee. Additional :guilabel:`Attendees` can be added or created from here, as well." +#: ../../content/applications/productivity/ai/apikeys.rst:3 +msgid "AI API keys" msgstr "" -#: ../../content/applications/productivity/calendar.rst:83 -msgid "For virtual meetings, copy and paste the URL into the space provided in the :guilabel:`Videocall URL` field. Or, click :icon:`fa-plus` :guilabel:`Odoo meeting` to create a link." +#: ../../content/applications/productivity/ai/apikeys.rst:8 +msgid "Odoo's *AI* application settings contain options to control which |AI| provider the app utilizes, manage |API| credentials, and define the default prompts. Odoo supports both Gemini and OpenAI (ChatGPT) as providers in the *AI* application." msgstr "" -#: ../../content/applications/productivity/calendar.rst:87 -msgid "Next, either create the event by clicking :guilabel:`Save & Close`, or select :guilabel:`More Options` to further configure the event." +#: ../../content/applications/productivity/ai/apikeys.rst:12 +msgid "Some |AI| features can be used without the *AI* app installed. However, to use custom |API| credentials or to alter the |AI| provider used for a specific agent, the app **must** be installed." msgstr "" -#: ../../content/applications/productivity/calendar.rst:91 -msgid "Once the event is created, users can click into the virtual meeting directly from the calendar event to access more configuration options." +#: ../../content/applications/productivity/ai/apikeys.rst:16 +msgid "While users can add their own |API| keys, it is **not** required. However, some organizations may prefer to use their own keys for greater control over permissions, version updates, or internal policy compliance." msgstr "" -#: ../../content/applications/productivity/calendar.rst:-1 -msgid "The full event form for a new calendar event." +#: ../../content/applications/productivity/ai/apikeys.rst:23 +msgid "Create API key for ChatGPT" msgstr "" -#: ../../content/applications/productivity/calendar.rst:97 -msgid "The :guilabel:`Description` field allows users to add additional information and details about the meeting." +#: ../../content/applications/productivity/ai/apikeys.rst:25 +msgid "To create an |API| key for ChatGPT, visit `API Key Page `_. Click :guilabel:`Login` and enter the login information for the OpenAI account." msgstr "" -#: ../../content/applications/productivity/calendar.rst:100 -msgid "Click :guilabel:`More Options` to navigate to the meeting form, which provides additional configurations for the event:" +#: ../../content/applications/productivity/ai/apikeys.rst:28 +msgid "On the *API Keys* page, click :guilabel:`Create new secret key`." msgstr "" -#: ../../content/applications/productivity/calendar.rst:103 -msgid ":guilabel:`Duration`: Define the length of the meeting in :guilabel:`hours`, or toggle the :guilabel:`All Day` switch." +#: ../../content/applications/productivity/ai/apikeys.rst:-1 +msgid "The API keys page in OpenAI." msgstr "" -#: ../../content/applications/productivity/calendar.rst:105 -msgid ":guilabel:`Recurrent`: Tick the checkbox to create a recurring meeting. Once selected, this opens new fields:" +#: ../../content/applications/productivity/ai/apikeys.rst:33 +msgid "This opens the :guilabel:`Create new secret key` pop-up. Select the owner of the new key:" msgstr "" -#: ../../content/applications/productivity/calendar.rst:108 -msgid ":guilabel:`Timezone`: Select the timezone for which this meeting time is specified." +#: ../../content/applications/productivity/ai/apikeys.rst:35 +msgid ":guilabel:`You`: the new key is tied to the user account and can make requests against the selected project. If the user is removed from the organization or project, this key is disabled." msgstr "" -#: ../../content/applications/productivity/calendar.rst:109 -msgid ":guilabel:`Repeat`: Select the recurring period of this meeting. Depending on what type of recurrence has been selected, a subsequent field appears, in which users can indicate when the meeting should recur. For example, if :guilabel:`Monthly` is selected as the :guilabel:`Repeat` option, a new field appears, in which the user decides on what :guilabel:`Day of Month` the meeting should recur." +#: ../../content/applications/productivity/ai/apikeys.rst:37 +msgid ":guilabel:`Service account`: creates a new bot member, or service account, of the project. The key is attached to the bot member." msgstr "" -#: ../../content/applications/productivity/calendar.rst:114 -msgid ":guilabel:`Until`: Select the limited :guilabel:`Number of repetitions` this meeting should recur, the :guilabel:`End date` of when the recurrences should stop, or if the meetings should recur :guilabel:`Forever`." +#: ../../content/applications/productivity/ai/apikeys.rst:40 +msgid "Next, enter a :guilabel:`Name` for this key. This is optional, but recommended. Then, select the :guilabel:`Project` from the drop-down menu. Finally, select the appropriate :guilabel:`Permissions`." msgstr "" -#: ../../content/applications/productivity/calendar.rst:117 -msgid ":guilabel:`Tags`: Add tags to the event, like `Customer Meeting` or `Internal Meeting`. These can be searched and filtered in the **Calendar** app when organizing multiple events." +#: ../../content/applications/productivity/ai/apikeys.rst:-1 +msgid "The popup where new api keys are created in OpenAI." msgstr "" -#: ../../content/applications/productivity/calendar.rst:119 -msgid ":guilabel:`Appointment`: Link existing or new appointments. These can be configured through the :ref:`Share Availabilities ` button from the main **Calendar** dashboard." +#: ../../content/applications/productivity/ai/apikeys.rst:48 +msgid "Setting the :guilabel:`Permissions` to :guilabel:`Restricted` requires setting the read and write permissions to multiple resources individually. For more information, see `OpenAI Platform Docs `_." msgstr "" -#: ../../content/applications/productivity/calendar.rst:122 -msgid ":guilabel:`Privacy`: Toggle between visibility options to control who can view the event." +#: ../../content/applications/productivity/ai/apikeys.rst:52 +msgid "Click :guilabel:`Create secret key`. On the resulting pop-up, click :guilabel:`Copy` to copy the new key." msgstr "" -#: ../../content/applications/productivity/calendar.rst:123 -msgid ":guilabel:`Organizer`: This is defaulted to the current Odoo user. Select a new one from existing users, or create and edit a new user." +#: ../../content/applications/productivity/ai/apikeys.rst:56 +msgid "Once this pop-up closes, the key **cannot** be viewed again. If it is lost, a new key will need to be created." msgstr "" -#: ../../content/applications/productivity/calendar.rst:125 -msgid ":guilabel:`Description`: Add additional information or details about the meeting." +#: ../../content/applications/productivity/ai/apikeys.rst:0 +msgid "The popup displaying the newly created OpenAI key." msgstr "" -#: ../../content/applications/productivity/calendar.rst:126 -msgid ":guilabel:`Reminders`: Select notification options to send to attendees. Choose a default notification, or configure new reminders." +#: ../../content/applications/productivity/ai/apikeys.rst:62 +msgid "Return to Odoo, and navigate to :menuselection:`AI app --> Configuration --> Settings`. Under *Providers*, tick the checkbox for :guilabel:`Use your own ChatGPT account`, and paste the new key in the :guilabel:`Key` field. Click :guilabel:`Save` when finished." msgstr "" -#: ../../content/applications/productivity/calendar.rst:130 -msgid "Coordinate with teams' availability" +#: ../../content/applications/productivity/ai/apikeys.rst:69 +msgid "Create an API key for Google Gemini" msgstr "" -#: ../../content/applications/productivity/calendar.rst:132 -msgid "When scheduling an event for multiple users, on the **Calendar** app dashboard, tick the checkbox next to :guilabel:`Attendees` to view team members' availability. Tick (or untick) the checkbox next to listed users to show (or hide) individual calendars." +#: ../../content/applications/productivity/ai/apikeys.rst:71 +msgid "To create an |API| key for Google Gemini, visit `API Keys `_. Enter the login information for the Google account, and click :guilabel:`Next` to open Google |AI| Studio. In the top right corner, click :guilabel:`Create API Key`." msgstr "" -#: ../../content/applications/productivity/calendar.rst:-1 -msgid "View of Attendees section on Calendar app." +#: ../../content/applications/productivity/ai/apikeys.rst:-1 +msgid "The Gemini api keys page." msgstr "" -#: ../../content/applications/productivity/calendar.rst:142 -msgid "Share Availabilities" +#: ../../content/applications/productivity/ai/apikeys.rst:79 +msgid "On the *Create a new key* pop-up, enter a title in the :guilabel:`Name your key` field. Next, use the :guilabel:`Choose an imported project` drop-down to select a project, or import a new one. Click :guilabel:`Create key`." msgstr "" -#: ../../content/applications/productivity/calendar.rst:144 -msgid "On the **Calendar** app main dashboard, click the :guilabel:`Share Availabilities` button at the top of the page. Next, click and drag to select the available times and dates on the calendar to add them as options in the invitation." +#: ../../content/applications/productivity/ai/apikeys.rst:83 +msgid "On the *API Keys* page, find the appropriate key and click the copy icon." msgstr "" -#: ../../content/applications/productivity/calendar.rst:149 -msgid "To remove a selected time range, hover over the availability to click the :icon:`fa-trash` :guilabel:`(trash)` icon." +#: ../../content/applications/productivity/ai/apikeys.rst:-1 +msgid "The new Gemini key with the copy button highlighted." msgstr "" -#: ../../content/applications/productivity/calendar.rst:153 -msgid "Within the :guilabel:`Share Availabilities` feature, selecting times is only possible on the *Day* calendar views." +#: ../../content/applications/productivity/ai/apikeys.rst:88 +msgid "Return to Odoo, and navigate to :menuselection:`AI app --> Configuration --> Settings`. Under *Providers*, tick the checkbox for :guilabel:`Use your own Google Gemini account`, and paste the new key in the :guilabel:`Key` field. Click :guilabel:`Save` when finished." msgstr "" -#: ../../content/applications/productivity/calendar.rst:156 -msgid "Once availability has been selected, click the :icon:`fa-external-link` :guilabel:`Open` button to navigate to the associated appointment." +#: ../../content/applications/productivity/ai/apikeys.rst:93 +msgid "Pricing" msgstr "" -#: ../../content/applications/productivity/calendar.rst:-1 -msgid "Share availability window on Calendar app." +#: ../../content/applications/productivity/ai/apikeys.rst:95 +msgid "Utilizing |API| keys for |AI| may require additional fees through the provider. The exact costs depend on the |AI| model used and the account type with each provider." msgstr "" -#: ../../content/applications/productivity/calendar.rst:162 -msgid "Several configuration options are available on the appointment form:" +#: ../../content/applications/productivity/ai/apikeys.rst:98 +msgid "For additional information on :ref:`ChatGPT ` pricing, visit `OpenAI API Pricing `_." msgstr "" -#: ../../content/applications/productivity/calendar.rst:164 -msgid "In the :guilabel:`Scheduling` field, set a minimum hour window to ensure appointments are confirmed a specified amount of time in advance. For example, set `01:00` to require attendees to confirm at least one hour before their appointment time." +#: ../../content/applications/productivity/ai/apikeys.rst:101 +msgid "For additional information on :ref:`Google Gemini ` pricing, visit `Gemini API Pricing `_." msgstr "" -#: ../../content/applications/productivity/calendar.rst:168 -msgid "In the :guilabel:`Allow Cancelling` field, set a maximum hour window before the appointment that attendees are able to cancel." +#: ../../content/applications/productivity/ai/fields.rst:3 +msgid "AI fields" msgstr "" -#: ../../content/applications/productivity/calendar.rst:171 -msgid "The :guilabel:`Availability on` field enables attendees to book :guilabel:`Users` or :guilabel:`Resources`, such as meeting rooms or tables. After selecting :guilabel:`Users` or :guilabel:`Resources`, type in the desired user or resource in the space below." +#: ../../content/applications/productivity/ai/fields.rst:7 +msgid "|AI| fields allow users to utilize Odoo's built-in AI capabilities directly in forms and records. When an |AI| field is configured, the system can generate or suggest values automatically based on the record's context, existing data, or external information." msgstr "" -#: ../../content/applications/productivity/calendar.rst:175 -msgid "The :guilabel:`Front-End Display` field is used to choose :guilabel:`No Picture` or :guilabel:`Show Pictures` related to the selected user or resource on the appointment page." +#: ../../content/applications/productivity/ai/fields.rst:11 +msgid "This feature is especially useful for creating product descriptions, summarizing notes, or generating structured content from unstructured data." msgstr "" -#: ../../content/applications/productivity/calendar.rst:178 -msgid "If :guilabel:`Resources` has been selected in the :guilabel:`Availability on` field, users have an option to :guilabel:`Manage Capacities`." +#: ../../content/applications/productivity/ai/fields.rst:17 +msgid "Adding a new AI field" msgstr "" -#: ../../content/applications/productivity/calendar.rst:181 -msgid "Tick the checkbox to limit the maximum amount of people that can use the resource at the same time." +#: ../../content/applications/productivity/ai/fields.rst:19 +msgid "|AI| fields can be added to a record through the Studio app or property field." msgstr "" -#: ../../content/applications/productivity/calendar.rst:183 -msgid "The :guilabel:`Assignment Method` field enables the order in which attendees book their time and user/resource:" +#: ../../content/applications/productivity/ai/fields.rst:22 +msgid ":ref:`Installing Studio ` may impact the current pricing plan for a database. For more information, refer to `Odoo's pricing page `_ or contact your account manager." msgstr "" -#: ../../content/applications/productivity/calendar.rst:186 -msgid ":guilabel:`Pick User/Resource then Time`" +#: ../../content/applications/productivity/ai/fields.rst:26 +msgid "First, navigate to the page in the database where a new field is needed. Then, click on the :icon:`oi-studio` :guilabel:`studio` icon to open the app. On the left sidebar, click and drag the :guilabel:`AI Field` option and place it in the desired location on the record." msgstr "" -#: ../../content/applications/productivity/calendar.rst:187 -msgid ":guilabel:`Select Time then User/Resource`" +#: ../../content/applications/productivity/ai/fields.rst:-1 +msgid "Adding a new field to a record." msgstr "" -#: ../../content/applications/productivity/calendar.rst:189 -msgid "If :guilabel:`Resources` has been selected in the :guilabel:`Availability On` field, a third option is available, :guilabel:`Select Time then auto-assign`." +#: ../../content/applications/productivity/ai/fields.rst:33 +msgid "After the field is placed, an :guilabel:`Add an AI Field` pop-up opens. Use the :guilabel:`Field Type` drop-down menu to select a :doc:`field type <../../studio/fields>`:" msgstr "" -#: ../../content/applications/productivity/calendar.rst:192 -msgid "Optionally, configure the following tabs:" +#: ../../content/applications/productivity/ai/fields.rst:36 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:769 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:1018 +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:203 +#: ../../content/applications/productivity/whatsapp.rst:588 +msgid "Text" msgstr "" -#: ../../content/applications/productivity/calendar.rst:194 -msgid ":ref:`calendar/appointment-schedule`" +#: ../../content/applications/productivity/ai/fields.rst:37 +msgid "Multiline Text" msgstr "" -#: ../../content/applications/productivity/calendar.rst:195 -msgid ":ref:`calendar/appointment-options`" +#: ../../content/applications/productivity/ai/fields.rst:38 +msgid "HTML" msgstr "" -#: ../../content/applications/productivity/calendar.rst:196 -msgid ":ref:`calendar/appointment-questions`" +#: ../../content/applications/productivity/ai/fields.rst:39 +msgid "Integer" msgstr "" -#: ../../content/applications/productivity/calendar.rst:197 -msgid ":ref:`calendar/appointment-messages`" +#: ../../content/applications/productivity/ai/fields.rst:40 +msgid "Decimal" msgstr "" -#: ../../content/applications/productivity/calendar.rst:199 -msgid "Click the :guilabel:`Preview` button to see how the appointment link looks for attendees." +#: ../../content/applications/productivity/ai/fields.rst:41 +msgid "Monetary" msgstr "" -#: ../../content/applications/productivity/calendar.rst:201 -msgid "Once the configurations are finished, click the :guilabel:`Share` button to generate a link to send directly, or click :guilabel:`Publish` to publish the appointment selection on the connected Odoo website." +#: ../../content/applications/productivity/ai/fields.rst:42 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:121 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:856 +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:105 +msgid "Date" msgstr "" -#: ../../content/applications/productivity/calendar.rst:210 -msgid "In the :guilabel:`Schedule` tab of the appointment form, time slots can be managed. The target date and time populate as the first time slots." +#: ../../content/applications/productivity/ai/fields.rst:43 +msgid "Datetime" msgstr "" -#: ../../content/applications/productivity/calendar.rst:213 -msgid "To add a new time slot, hit :guilabel:`Add a line`. Click into the new blank space under the :guilabel:`From` field, then select and enter the new target start date and time, respectively. Repeat under the new blank space under :guilabel:`To` to select and enter the new target end date and time." +#: ../../content/applications/productivity/ai/fields.rst:44 +msgid "Checkbox" msgstr "" -#: ../../content/applications/productivity/calendar.rst:223 -msgid "The :guilabel:`Options` tab provides additional configurations:" +#: ../../content/applications/productivity/ai/fields.rst:45 +msgid "Many2one" msgstr "" -#: ../../content/applications/productivity/calendar.rst:225 -msgid ":guilabel:`Website`: Specify which website this meeting invitation will be published on." +#: ../../content/applications/productivity/ai/fields.rst:46 +#: ../../content/applications/productivity/documents.rst:334 +#: ../../content/applications/productivity/sign.rst:324 +msgid "Tags" msgstr "" -#: ../../content/applications/productivity/calendar.rst:226 -msgid ":guilabel:`Timezone`: This defaults to the company's timezone selected in the **Settings** app. To change the timezone, select the desired option from the drop-down menu." +#: ../../content/applications/productivity/ai/fields.rst:48 +msgid "Next is the :guilabel:`Prompt` field. In Odoo, :ref:`prompts ` define the instructions that guide the |AI| when generating or improving the content of the |AI| field. The prompt tells the system what kind of information to produce, how to format it, and what tone or style to use." msgstr "" -#: ../../content/applications/productivity/calendar.rst:228 -msgid ":guilabel:`Location`: Select or create new locations from the drop-down menu. If this field is left empty, the meeting is considered to be taking place online." +#: ../../content/applications/productivity/ai/fields.rst:53 +msgid "When creating a prompt, use the `/field` command to reference specific fields in the database. For example, to reference the :guilabel:`Company` field on a record, enter `/field`, and click the :guilabel:`Field Selector` option. Type `Company` in the search bar, and select :guilabel:`Company` from the list." msgstr "" -#: ../../content/applications/productivity/calendar.rst:230 -msgid ":guilabel:`Videoconference Link`: Select from :guilabel:`Odoo Discuss` or :guilabel:`Google Meet` to include a video conference link in the meeting invitation, or leave it blank to prevent generating a meeting URL." +#: ../../content/applications/productivity/ai/fields.rst:-1 +msgid "The add a field pop-up where the ai prompt is entered." msgstr "" -#: ../../content/applications/productivity/calendar.rst:233 -msgid ":guilabel:`Manual Confirmation`: Only shown if :guilabel:`Resources` has been selected in the :guilabel:`Availability On` field. Tick the checkbox and enter a maximum percentage of the selected resource(s)' total capacity to create a manual confirmation requirement to finalize the meeting." +#: ../../content/applications/productivity/ai/fields.rst:61 +msgid "Once the prompt is complete, click :guilabel:`Add Field`. Before closing **Studio**, click on the left sidebar and update the :guilabel:`Label` field with a title for the new |AI| field. Then click :guilabel:`Close` to exit **Studio**." msgstr "" -#: ../../content/applications/productivity/calendar.rst:237 -msgid ":guilabel:`Up-front Payment`: Tick the checkbox to require users to pay before confirming their booking. Once this is ticked, a link appears to :icon:`oi-arrow-right` :guilabel:`Configure Payment Providers`, which enables online payments." +#: ../../content/applications/productivity/ai/fields.rst:65 +msgid "After the field is added, click the |AI| icon to refresh the field value." msgstr "" -#: ../../content/applications/productivity/calendar.rst:240 -msgid ":guilabel:`Limit to Work Hours`: If :guilabel:`Users` has been selected in the :guilabel:`Availability On` field, tick the checkbox to limit meeting time slots to the selected :doc:`users' working hours <../hr/employees/new_employee>`." +#: ../../content/applications/productivity/ai/fields.rst:68 +msgid "If the |AI| is unable to complete the request, a warning message is generated. This could mean that the prompt is asking for information that is not available, in the given context, or that the prompt is providing unclear instructions. Use this as an indication to revisit the prompt and add additional context or instructions." msgstr "" -#: ../../content/applications/productivity/calendar.rst:243 -msgid ":guilabel:`Create Opportunities`: When this is selected, each scheduled appointment creates a new **CRM** opportunity." +#: ../../content/applications/productivity/ai/fields.rst:0 +msgid "A warning message indicating the AI was unable to complete the request." msgstr "" -#: ../../content/applications/productivity/calendar.rst:245 -msgid ":guilabel:`Reminders`: Add or delete notification reminders in this field. Select the blank space for additional options." +#: ../../content/applications/productivity/ai/fields.rst:77 +msgid "Add via edit properties" msgstr "" -#: ../../content/applications/productivity/calendar.rst:247 -msgid ":guilabel:`Confirmation Email`: Tick the checkbox to automatically send a confirmation email to attendees once the meeting is confirmed. Select from the email templates or click :guilabel:`Search More...`, then :guilabel:`New` to create a custom template." +#: ../../content/applications/productivity/ai/fields.rst:79 +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 "" -#: ../../content/applications/productivity/calendar.rst:250 -msgid ":guilabel:`Cancelation Email`: Tick the checkbox to automatically send a cancelation email to attendees if the meeting is canceled. Select from the email templates or click :guilabel:`Search More...`, then :guilabel:`New` to create a custom template." +#: ../../content/applications/productivity/ai/fields.rst:-1 +msgid "The edit properties pop-up on a form view." msgstr "" -#: ../../content/applications/productivity/calendar.rst:253 -msgid ":guilabel:`CC to`: Add contacts to be notified of meeting updates in this field, regardless if they attend the meeting." +#: ../../content/applications/productivity/ai/fields.rst:88 +msgid ":ref:`Property fields ` can only be added to form views." msgstr "" -#: ../../content/applications/productivity/calendar.rst:255 -msgid ":guilabel:`Allow Guests`: Tick the checkbox to allow attendees to invite guests." +#: ../../content/applications/productivity/ai/fields.rst:91 +msgid "Computing AI fields" msgstr "" -#: ../../content/applications/productivity/calendar.rst:262 -msgid "In the :guilabel:`Questions` tab, add questions for the attendee to answer when confirming their meeting. Click :guilabel:`Add a line` to configure a :guilabel:`Question`. Then select a :guilabel:`Question Type`, optionally add a :guilabel:`Placeholder` answer, and choose whether it is a :guilabel:`Required Answer`." +#: ../../content/applications/productivity/ai/fields.rst:93 +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/calendar.rst:267 -msgid "To learn how to create more comprehensive questionnaires, head to the **Survey** app documentation on :doc:`creating and configuring data-capturing questions <../marketing/surveys/questions>`." +#: ../../content/applications/productivity/ai/fields.rst:96 +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/calendar.rst:276 -msgid "In the :guilabel:`Introduction Message` field of the :guilabel:`Messages` tab, add additional meeting information that appears on the invitation." +#: ../../content/applications/productivity/ai/fields.rst:100 +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 "" -#: ../../content/applications/productivity/calendar.rst:279 -msgid "Information added to the :guilabel:`Extra Message on Confirmation` field appears once the meeting is confirmed." +#: ../../content/applications/productivity/ai/webpage.rst:3 +msgid "AI webpage generator" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:3 -msgid "Google Calendar synchronization" +#: ../../content/applications/productivity/ai/webpage.rst:7 +msgid "Within Odoo's **Website** application, |AI| can be utilized to generate original webpages. By providing Odoo with a prompt, the |AI| agent generates a design and content that suits the business's needs, style, and tone." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:5 -msgid "Synchronize Google Calendar with Odoo to see and manage meetings from both platforms (updates go in both directions). This integration helps organize schedules, so a meeting is never missed." +#: ../../content/applications/productivity/ai/webpage.rst:12 +msgid "The **AI** application does **not** need to be installed on the database to use the webpage generator, only the **Website** app." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:9 -msgid ":doc:`/applications/general/users/google`" +#: ../../content/applications/productivity/ai/webpage.rst:16 +msgid "Generating a new webpage" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:10 -msgid ":doc:`/applications/general/email_communication/google_oauth`" +#: ../../content/applications/productivity/ai/webpage.rst:18 +msgid "First, navigate to the :menuselection:`Website app`. In the top-right of the page, click :guilabel:`New`, then click :guilabel:`Page`." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:13 -msgid "Setup in Google" +#: ../../content/applications/productivity/ai/webpage.rst:-1 +msgid "Adding a new page to a website in Odoo." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:16 -msgid "Select (or create) a project" +#: ../../content/applications/productivity/ai/webpage.rst:24 +msgid "On the :guilabel:`New Page` pop-up, select the desired page type." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:18 -msgid "Create a new Google API project and enable the Google Calendar API. First, go to the `Google API Console `_ and log into the Google account." +#: ../../content/applications/productivity/ai/webpage.rst:27 +msgid "The |AI| webpage generator is not available on the *Blank* page type." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:22 -msgid "If this is the first time visiting this page, Google will prompt the user to enter a country and agree to the Terms of Service. Select a country from the drop-down list and agree to the :abbr:`ToS (Terms of Service)`." +#: ../../content/applications/productivity/ai/webpage.rst:29 +msgid "Clicking on a page type opens a :guilabel:`New Page` pop-up. Enter a :guilabel:`Page Title`, then slide the :guilabel:`AI Generate Text` toggle to active to reveal the :guilabel:`Instructions` field. Here, enter a short description of the page being created. This should include a few important keywords that help define the focus and scope of the page." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:26 -msgid "Next, click :guilabel:`Select a project` and select (or create) an API project to configure OAuth in, and store credentials. Click :guilabel:`New Project`." +#: ../../content/applications/productivity/ai/webpage.rst:34 +msgid "Next, select one of the tone options for the page:" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:-1 -msgid "Create a new API project to store credentials." +#: ../../content/applications/productivity/ai/webpage.rst:36 +msgid ":guilabel:`Concise`" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:32 -msgid "Give the API project a clear name, like `Odoo Sync`, so it can be identified. Then click the :guilabel:`Create` button." +#: ../../content/applications/productivity/ai/webpage.rst:37 +msgid ":guilabel:`Professional`" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:36 -msgid "Enable Google calendar API" +#: ../../content/applications/productivity/ai/webpage.rst:38 +msgid ":guilabel:`Friendly`" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:38 -msgid "Now, click on :guilabel:`Enabled APIs and Services` in the left menu. Select :guilabel:`Enabled APIs and Services` again if the :guilabel:`Search bar` does not appear." +#: ../../content/applications/productivity/ai/webpage.rst:39 +msgid ":guilabel:`Persuasive`" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:-1 -msgid "Enable APIs and Services on the API Project." +#: ../../content/applications/productivity/ai/webpage.rst:40 +msgid ":guilabel:`Informative`" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:44 -msgid "After that, search for `Google Calendar API` using the search bar and select :guilabel:`Google Calendar API` from the search results. Click :guilabel:`Enable`." +#: ../../content/applications/productivity/ai/webpage.rst:-1 +msgid "The new page pop-up with the Generate AI text options visible." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:-1 -msgid "Enable the Google Calendar API." +#: ../../content/applications/productivity/ai/webpage.rst:45 +msgid "When finished, click :guilabel:`Create with AI`. It may take a few moments for the webpage to load. Content created by the |AI| generator can be edited. Click :guilabel:`Edit` on the toolbar on the right side of the page, then click on a block of text to make changes. Click :guilabel:`Save` when finished." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:51 -msgid "OAuth consent screen" +#: ../../content/applications/productivity/ai/webpage.rst:51 +msgid "The webpage generator may have created buttons. Before publishing the webpage, confirm that all buttons are linked to an active webpage." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:53 -msgid "Now that the API project has been created, OAuth should be configured. To do that, click on :guilabel:`OAuth consent screen` in the left menu, then click the :guilabel:`Get started` button." +#: ../../content/applications/productivity/ai/webpage.rst:54 +msgid "After reviewing the page, slide the :guilabel:`Unpublished` toggle to active to publish the page." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:57 -msgid "*Personal* Gmail Accounts are only allowed to be **External** User Type, which means Google may require an approval, or for *Scopes* to be added on. However, using a *Google WorkSpace* account allows for **Internal** User Type to be used." +#: ../../content/applications/productivity/ai/webpage.rst:57 +msgid ":doc:`Web design <../../websites/website/web_design>`" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:61 -msgid "Note, as well, that while the API connection is in the *External* testing mode, then no approval is necessary from Google. User limits in this testing mode is set to 100 users." +#: ../../content/applications/productivity/appointments.rst:6 +msgid "Appointments" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:64 -msgid "Follow the proceeding steps, in order:" +#: ../../content/applications/productivity/appointments.rst:8 +msgid "Odoo's **Appointments** app is a self-service scheduling app that simplifies the process of booking meetings, consultations, or services. Integrated with Odoo's suite of business apps, it allows companies to automate appointment scheduling, reduce manual coordination, and provide a seamless experience for clients. Appointments can be linked to calendars, **CRM** opportunities, employee schedules, and more, making it an ideal tool for service-based businesses seeking efficiency and organization." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:66 -msgid "In :guilabel:`App Information`, type `Odoo` in the :guilabel:`App name` field, then enter the email address for the :guilabel:`User support email` field and click the :guilabel:`Next` button." +#: ../../content/applications/productivity/appointments.rst:16 +#: ../../content/applications/productivity/appointments/create-opps.rst:13 +#: ../../content/applications/productivity/documents.rst:39 +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:57 +#: ../../content/applications/productivity/voip/axivox/axivox_config.rst:17 +#: ../../content/applications/productivity/voip/onsip.rst:33 +msgid "Configuration" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:68 -msgid "In :guilabel:`Audience`, select :guilabel:`External`, then click the :guilabel:`Next` button." +#: ../../content/applications/productivity/appointments.rst:18 +msgid "The **Appointments** app allows for new appointments to be scheduled based on the availability of users, or the availability of *resources*, such as meeting rooms or seating areas. To create a new resource, or manage existing resources, navigate to :menuselection:`Appointments --> Configuration --> Resources`. This opens a list of the available resources in the database, as well as their individual capacity." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:69 -msgid "In :guilabel:`Contact Information`, enter the email again, then click the :guilabel:`Next` button." +#: ../../content/applications/productivity/appointments.rst:27 +msgid "Resources" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:71 -msgid "In :guilabel:`Finish`, tick the checkbox to agree to :guilabel:`Google API Services: User Policy.` For the last step, click the :guilabel:`Create` button." +#: ../../content/applications/productivity/appointments.rst:29 +msgid "Click :guilabel:`New` to create a new resource. On the blank record, enter a :guilabel:`Name` for the new resource. In the :guilabel:`Capacity` field, enter the maximum number of people the resource can accommodate. Then, confirm the :guilabel:`Timezone` for this resource." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:75 -msgid "Authorized domain setup" +#: ../../content/applications/productivity/appointments.rst:33 +msgid "If desired, select one or more :guilabel:`Linked Resource` from the drop-down. This option designates one or more resources that can be used in combination to handled a bigger demand." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:77 -msgid "Next, any domains set to appear on the consent screen or in an OAuth client's configuration must be pre-registered. To do so, navigate to :guilabel:`Branding` in the left menu. In the :guilabel:`Authorized domains` section, click the :guilabel:`Add domain` button to create a field to enter an authorized domain. Enter a domain, such as `odoo.com`, then click the :guilabel:`Save` button at the bottom of the page." +#: ../../content/applications/productivity/appointments.rst:37 +msgid "*Linked resources* are only used when using the :ref:`auto-assign ` :guilabel:`Assignment Method`." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:84 -msgid "Test users" +#: ../../content/applications/productivity/appointments.rst:40 +msgid "Lastly, add a :guilabel:`Description` for this resource." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:86 -msgid "To give users the ability to sync with personal Gmail accounts, they must be set as a test user. Setup test users by going to :guilabel:`Audience` in the left-side menu and clicking the :guilabel:`Add users` button in the :guilabel:`Test users` section. Enter any desired user emails, and click the :guilabel:`Save` button." +#: ../../content/applications/productivity/appointments.rst:43 +msgid "The contents of the :guilabel:`Description` tab are visible to customers when booking an appointment online." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:92 -msgid "Create credentials" +#: ../../content/applications/productivity/appointments.rst:49 +msgid "Appointment type configuration" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:94 -msgid "The *Client ID* and the *Client Secret* are both needed to connect Google Calendar to Odoo. This is the last step in the Google console. Begin by clicking :guilabel:`Clients` in the left menu. Then, click :guilabel:`Create Credentials`, and select :guilabel:`OAuth client ID`, Google will open a guide to create credentials." +#: ../../content/applications/productivity/appointments.rst:51 +msgid "Before appointments can be scheduled or booked, an appointment type must be created. Navigate to the :menuselection:`Appointments` app dashboard and click :guilabel:`New`. On the new blank record, enter an :guilabel:`Appointment Title`, then set a :guilabel:`Duration` for this appointment type." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:99 -msgid "Under :menuselection:`Create OAuth Client ID`, select :guilabel:`Website application` for the :guilabel:`Application Type` field, and type `My Odoo Database` for the :guilabel:`Name`." +#: ../../content/applications/productivity/appointments.rst:55 +msgid "Next, set a :guilabel:`Pre-Booking Time`. This is the minimum amount of time between when an appointment can be booked and when the appointment can begin. If the :guilabel:`Pre-Booking Time` is `1` hour, appointments must be booked *at least* `1` hour in advance." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:102 -msgid "Under the :guilabel:`Authorized JavaScript Origins` section, click :guilabel:`+ Add URI` and type the company's Odoo full :abbr:`URL (Uniform Resource Locator)` address." +#: ../../content/applications/productivity/appointments.rst:60 +msgid "An appointment type is created for `Tennis Courts`, with a :guilabel:`Duration` of `1` hour, and a :guilabel:`Pre-Booking Time` of `1` hour. At `02:00` PM, a customer attempts to book an appointment for the same day at `02:45` pm. The first available time is `04:00` pm." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:104 -msgid "Under the :guilabel:`Authorized redirect URIs` section, click :guilabel:`+ Add URI` and type the company's Odoo :abbr:`URL (Uniform Resource Locator)` address followed by `/google_account/authentication`. Finally, click :guilabel:`Create`." +#: ../../content/applications/productivity/appointments.rst:0 +msgid "An example of the booking calendar showing available times." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:-1 -msgid "Add the authorized JavaScript origins and the authorized redirect URIs." +#: ../../content/applications/productivity/appointments.rst:67 +msgid "Select a :guilabel:`Scheduling Window`:" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:111 -msgid "A :guilabel:`Client ID` and :guilabel:`Client Secret` will appear, save these somewhere safe." +#: ../../content/applications/productivity/appointments.rst:69 +msgid "Select :guilabel:`Available now` to allow customers to book an appointment immediately. Use the :guilabel:`Up to X days into the future` field to define how far in advance customers can schedule appointments. For example, if `14` is entered, customers cannot book anything more than 14 days from the current date." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:114 -msgid "Setup in Odoo" +#: ../../content/applications/productivity/appointments.rst:73 +msgid "Select :guilabel:`Within a date range` to limit bookings to a specific range of dates. After selecting this option, click the :guilabel:`From` and :guilabel:`to` fields, and use the calendar pop-up window to customize the date and time range." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:116 -msgid "Once the *Client ID* and the *Client Secret* are located, open the Odoo database and go to :menuselection:`Settings --> Calendar` to find the :guilabel:`Google Calendar` feature. Tick the checkbox labeled :guilabel:`Google Calendar`." +#: ../../content/applications/productivity/appointments.rst:77 +msgid "Update the :guilabel:`Allow Cancelling` field to limit the amount of time before an appointment where a customer can cancel. If this setting is enabled, customers are unable to cancel within the designated time frame." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:-1 -msgid "The Google Calendar checkbox in General Settings." +#: ../../content/applications/productivity/appointments.rst:82 +msgid "If a customer does try to cancel within the time frame, they receive an error message with contact information. If the appointment is for a resource, the contact details are for the user that created the appointment type. If the appointment is for a user, the contact details are for the user the appointment is with." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:123 -msgid "Next, copy and paste the *Client ID* and the *Client Secret* from the Google Calendar API credentials page into their respective fields below the :guilabel:`Google Calendar` checkbox. Then, click :guilabel:`Save`." +#: ../../content/applications/productivity/appointments.rst:0 +msgid "An example of the message a customer sees when cancelling." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:128 -msgid "Tick the :guilabel:`Pause Synchronization` checkbox to temporarily pause events from being updated. This allows for testing and troubleshooting without removing credentials or uninstalling the synchronization. To resume the sync, clear the checkbox and save." +#: ../../content/applications/productivity/appointments.rst:90 +msgid "Next, designate whether this appointment type is based on :guilabel:`Users` or :guilabel:`Resources`, by selecting the appropriate radio button. If it is based on users, select one or more :guilabel:`Users` in the drop-down. If it is based on :ref:`resources `, select one or more :guilabel:`Resources` in the drop-down." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:133 -msgid "Sync calendar in Odoo" +#: ../../content/applications/productivity/appointments.rst:96 +msgid "User-based appointment types can be used for scheduling sales meetings and demos, as well as recruiting interviews." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:135 -msgid "Finally, open the :menuselection:`Calendar` app in Odoo and click on the :guilabel:`Google` sync button to sync Google Calendar with Odoo." +#: ../../content/applications/productivity/appointments.rst:99 +msgid "Resource-based appointment types can be used for scheduling time in specific rooms or locations." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:-1 -msgid "Click the Google sync button in Odoo Calendar to sync Google Calendar with Odoo." +#: ../../content/applications/productivity/appointments.rst:101 +msgid "Selecting :guilabel:`Resources` in the :guilabel:`Availability on` field reveals the :guilabel:`Manage Capacities` option. If selected, the appointment limits the number of participants based on the capacity of the resources selected." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:142 -msgid "When syncing Google Calendar with Odoo for the first time, the page will redirect to the Google Account. From there, select the :guilabel:`Email Account` that should have access, then select :guilabel:`Continue` (should the app be unverified), and finally select :guilabel:`Continue` (to give permission for the transfer of data)." +#: ../../content/applications/productivity/appointments.rst:105 +msgid "Choose an :guilabel:`Assignment Method` by selecting the appropriate radio button:" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:-1 -msgid "Give Odoo permission to access Google Calendar." +#: ../../content/applications/productivity/appointments.rst:107 +msgid ":guilabel:`Pick User/Resource then Time`: customers select from a list of available users/resources, then select an open time slot." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:150 -msgid "Now, Odoo Calendar is successfully synced with Google Calendar!" +#: ../../content/applications/productivity/appointments.rst:109 +msgid ":guilabel:`Select Time then User/Resource`: customers choose a date and time, then select from the list of available users/resources." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:153 -msgid "Odoo highly recommends testing the Google calendar synchronization on a test database and a test email address (that is not used for any other purpose) before attempting to sync the desired Google Calendar with the user's production database." +#: ../../content/applications/productivity/appointments.rst:111 +msgid ":guilabel:`Select Time then auto-assign`: customers select a time slot and are automatically assigned a user/resource." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:157 -msgid "Once a user synchronizes their Google calendar with the Odoo calendar:" +#: ../../content/applications/productivity/appointments.rst:115 +#: ../../content/applications/productivity/calendar.rst:208 +msgid "Schedule tab" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:159 -msgid "Creating an event in Odoo causes Google to send an invitation to all event attendees." +#: ../../content/applications/productivity/appointments.rst:117 +msgid "The :guilabel:`Schedule` tab is used to outline when this appointment type is to be made available. The settings define the time slots shown on the booking page." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:160 -msgid "Deleting an event in Odoo causes Google to send a cancellation to all event attendees." +#: ../../content/applications/productivity/appointments.rst:120 +msgid "Click :guilabel:`Add a line` to create a new time frame. Select a day of the week from the :guilabel:`Every` drop-down menu, then update the times in the :guilabel:`From` and :guilabel:`To` fields. Click the :icon:`fa-trash-o` :guilabel:`(trash)` icon to delete an entry. Multiple entries can be included for a single day." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:161 -msgid "Adding a contact to an event causes Google to send an invitation to all event attendees." +#: ../../content/applications/productivity/appointments.rst:126 +msgid "If an appointment should not be available at specific times, such as when users are taking lunch, include time slots before and after." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:162 -msgid "Removing a contact from an event causes Google to send a cancellation to all event attendees." +#: ../../content/applications/productivity/appointments.rst:0 +msgid "An example of the Schedule tab in an appointment." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:164 -msgid "Events can be created in *Google Calendar* without sending a notification by selecting :guilabel:`Don't Send` when prompted to send invitation emails." +#: ../../content/applications/productivity/appointments.rst:133 +#: ../../content/applications/productivity/calendar.rst:221 +msgid "Options tab" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:168 -#: ../../content/applications/productivity/calendar/outlook.rst:210 -msgid "Troubleshoot sync" +#: ../../content/applications/productivity/appointments.rst:135 +msgid "The :guilabel:`Options` tab is used to customize the display options for this appointment, as well as notification settings for customers and users." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:170 -msgid "There may be times when the *Google Calendar* account does not sync correctly with Odoo. Sync issues can be seen in the database logs." +#: ../../content/applications/productivity/appointments.rst:138 +msgid "The :guilabel:`Front-End Display` field determines how the appointment is presented on the website to customers. Select the :guilabel:`Show Pictures` radio button to publish the default pictures of the user or resources for this appointment on the website." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:173 -msgid "In these cases, the account needs troubleshooting. A reset can be performed using the :guilabel:`Reset Account` button, which can be accessed by navigating to :menuselection:`Settings app --> Manage Users`. Then, select the user to modify the calendar, and click the :guilabel:`Calendar` tab." +#: ../../content/applications/productivity/appointments.rst:142 +msgid "The :guilabel:`Timezone` and :guilabel:`Location` fields automatically populate for resource appointments, based on where the resource is located. For user-based appointments, the :guilabel:`Location` field defaults to an `Online Meeting`, with a :guilabel:`Videoconference Link` automatically generated. If this should not be an online meeting, select a different option in the :guilabel:`Location` field." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:-1 -#: ../../content/applications/productivity/calendar/outlook.rst:-1 -msgid "Reset buttons highlighted on the calendar tab of the user." +#: ../../content/applications/productivity/appointments.rst:148 +msgid "Tick the :guilabel:`Manual Confirmation` checkbox to require approval before a meeting is accepted. If this feature is enabled, the appointment time slot is still considered *reserved* until it is confirmed or rejected. Leave this checkbox blank to automatically accept meetings created from this appointment." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:181 -#: ../../content/applications/productivity/calendar/outlook.rst:224 -msgid "Next, click :guilabel:`Reset Account` under the correct calendar." +#: ../../content/applications/productivity/appointments.rst:153 +msgid "The :doc:`Create Opportunities ` feature adds an opportunity to the **CRM** app for each scheduled appointment, which is assigned to the responsible user. Tick the :guilabel:`Create Opportunities` checkbox to enable this option." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:184 -#: ../../content/applications/productivity/calendar/outlook.rst:227 -msgid "Reset options" +#: ../../content/applications/productivity/appointments.rst:158 +msgid "This field is only visible if the **CRM** app is installed on the database." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:186 -msgid "The following reset options are available for troubleshooting Google calendar sync with Odoo:" +#: ../../content/applications/productivity/appointments.rst:160 +msgid "The :guilabel:`Reminders` field is used to set how customers are to be contacted before the appointment time. Select one or more options from the drop-down, based on the communication method, and the time frame." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:-1 -msgid "Google calendar reset options in Odoo." +#: ../../content/applications/productivity/appointments.rst:164 +msgid "Tick the :guilabel:`Allow Guests` checkbox to grant customers the ability to add additional guests when registering for an appointment." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:191 -#: ../../content/applications/productivity/calendar/outlook.rst:236 -msgid ":guilabel:`User's Existing Events`:" +#: ../../content/applications/productivity/appointments.rst:170 +#: ../../content/applications/productivity/calendar.rst:260 +msgid "Questions tab" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:193 -#: ../../content/applications/productivity/calendar/outlook.rst:238 -msgid ":guilabel:`Leave them untouched`: no changes to the events." +#: ../../content/applications/productivity/appointments.rst:172 +msgid "The :guilabel:`Questions` tab can be used to prompt customers for additional information while they are booking an appointment. Click :guilabel:`Add a line` to add a new question." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:194 -msgid ":guilabel:`Delete from the current Google Calendar account`: delete the events from *Google Calendar*." +#: ../../content/applications/productivity/appointments.rst:175 +msgid "On the :guilabel:`Create Questions` pop-up window, enter the :guilabel:`Question`, then choose an :guilabel:`Answer Type`." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:196 -#: ../../content/applications/productivity/calendar/outlook.rst:241 -msgid ":guilabel:`Delete from Odoo`: delete the events from the Odoo calendar." +#: ../../content/applications/productivity/appointments.rst:178 +msgid "Tick the :guilabel:`Mandatory Answer` checkbox to require customers to answer this question before they are allowed to book an appointment. Click :guilabel:`Save & New` to add another question, or :guilabel:`Save & Close` when finished." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:197 -msgid ":guilabel:`Delete from both`: delete the events from both *Google Calendar* and Odoo calendar." +#: ../../content/applications/productivity/appointments.rst:183 +#: ../../content/applications/productivity/calendar.rst:274 +msgid "Messages tab" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:199 -#: ../../content/applications/productivity/calendar/outlook.rst:245 -msgid ":guilabel:`Next Synchronization`:" +#: ../../content/applications/productivity/appointments.rst:185 +msgid "The :guilabel:`Messages` tab is used by the business to provide additional information to customers regarding this appointment type." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:201 -msgid ":guilabel:`Synchronize only new events`: sync new events on *Google Calendar* and/or Odoo calendar." +#: ../../content/applications/productivity/appointments.rst:189 +msgid "The content in the :guilabel:`Messages` tab is visible to customers and website visitors." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:203 -msgid ":guilabel:`Synchronize all existing events`: sync all events on *Google Calendar* and/or Odoo calendar." +#: ../../content/applications/productivity/appointments.rst:191 +msgid "In the :guilabel:`Introduction Message` field, add a short description of the appointment type. This can include the topic of the appointment, a meeting agenda, or an introduction to the users responsible for the meeting." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:206 -#: ../../content/applications/productivity/calendar/outlook.rst:252 -msgid "Click :guilabel:`Confirm` after making the selection to modify the user's events and the calendar synchronization." +#: ../../content/applications/productivity/appointments.rst:195 +msgid "The :guilabel:`Extra Message on Confirmation` is displayed to a customer after they have booked a meeting. Add any additional information here that the customer should be aware of. This can include parking information, last minute rules, or additional instructions." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:210 -msgid "Google OAuth FAQ" +#: ../../content/applications/productivity/appointments.rst:200 +msgid "Publishing an appointment" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:212 -msgid "At times there can be configuration errors that occur, and troubleshooting is needed to resolve the issue. Below are the most common errors that may occur when configuring the *Google Calendar* for use with Odoo." +#: ../../content/applications/productivity/appointments.rst:202 +msgid "When an appointment is ready to publish, click the :guilabel:`Go to Website` smart button at the top of the record. Then, slide the :icon:`fa-toggle-off` :guilabel:`Unpublished` icon to :icon:`fa-toggle-on` :guilabel:`Published`." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:217 -msgid "Production vs. testing publishing status" +#: ../../content/applications/productivity/appointments/create-opps.rst:3 +msgid "Create opportunities from appointments" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:219 -msgid "Choosing :guilabel:`Production` as the :guilabel:`Publishing Status` (instead of :guilabel:`Testing`) displays the following warning message:" +#: ../../content/applications/productivity/appointments/create-opps.rst:5 +msgid "When creating a new appointment type in the **Appointments** application, users have the option to create new *opportunities* with information from new bookings. This option captures information from scheduled appointments and creates opportunities in the **CRM** app." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:222 -msgid "`OAuth is limited to 100 sensitive scope logins until the OAuth consent screen is verified. This may require a verification process that can take several days.`" +#: ../../content/applications/productivity/appointments/create-opps.rst:10 +msgid "This option is only available if the **CRM** application is installed on the database." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:225 -msgid "To correct this warning, navigate to the `Google API Platform `_. If the :guilabel:`Publishing Status` is :guilabel:`In Production`, click :guilabel:`Back to Testing` to correct the issue." +#: ../../content/applications/productivity/appointments/create-opps.rst:15 +msgid "Navigate to the **Appointments** app dashboard. Click :guilabel:`New` to :doc:`create a new appointment type <../appointments>`. To edit an existing appointment type, click :icon:`fa-cog` :guilabel:`Action` at the far-right of the appointment line, to open the drop-down menu, then click :icon:`fa-pencil` :guilabel:`Edit`." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:230 -msgid "No test users added" +#: ../../content/applications/productivity/appointments/create-opps.rst:-1 +msgid "The edit button on an appointment type record." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:232 -msgid "If no test users are added to the :guilabel:`OAuth consent screen`, then an :guilabel:`Error 403: access_denied` populates." +#: ../../content/applications/productivity/appointments/create-opps.rst:23 +msgid "On the appointment type record, click the :guilabel:`Options` tab, and tick the :guilabel:`Create Opportunities` checkbox." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:-1 -msgid "403 Access Denied Error." +#: ../../content/applications/productivity/appointments/create-opps.rst:-1 +msgid "The options tab on an appointment type form." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:238 -msgid "To correct this error, return to the :guilabel:`OAuth consent screen`, under :guilabel:`APIs & Services`, and add test users to the app. Add the email to be configured in Odoo." +#: ../../content/applications/productivity/appointments/create-opps.rst:30 +msgid "Add questions" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:242 -msgid "Application Type" +#: ../../content/applications/productivity/appointments/create-opps.rst:32 +msgid "The :guilabel:`Questions` tab allows users to :ref:`add questions ` to the appointment booking page. When customers are booking an appointment slot, they are prompted to answer these questions. The information provided by customers is available in the :ref:`new opportunity `. Adding questions to the appointment type is optional. However, the additional information captured by the questions can be useful later in the sales pipeline." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:244 -msgid "When creating the credentials (OAuth *Client ID* and *Client Secret*), if :guilabel:`Desktop App` is selected for the :guilabel:`Application Type`, an :guilabel:`Authorization Error` appears (:guilabel:`Error 400:redirect_uri_mismatch`)." +#: ../../content/applications/productivity/appointments/create-opps.rst:39 +msgid "A furniture company creates a new appointment type for sales demos. Customers reserve time with salespeople to discuss their furniture and design needs. However, because the time is limited to only thirty minute increments, salespeople do not have the time to show all of the available furniture styles in every call. They add questions to the appointment type to prompt customers to provide additional information about the products and services they are interested in. Not only does this help when preparing for the demo, it also provides clarity further along in the sales process." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:-1 -msgid "Error 400 Redirect URI Mismatch." +#: ../../content/applications/productivity/appointments/create-opps.rst:0 +msgid "An appointment booking form with custom questions." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:251 -msgid "To correct this error, delete the existing credentials, and create new credentials, by selecting :guilabel:`Web Application` for the :guilabel:`Application Type`." +#: ../../content/applications/productivity/appointments/create-opps.rst:53 +msgid "Viewing the new opportunity" msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:254 -msgid "Then, under :guilabel:`Authorized redirect URIs`, click :guilabel:`ADD URI`, and type: `https://yourdbname.odoo.com/google_account/authentication` in the field, being sure to replace *yourdbname* in the URL with the **real** Odoo database name." +#: ../../content/applications/productivity/appointments/create-opps.rst:55 +msgid "To view opportunities created from appointments, navigate to the :menuselection:`CRM` app dashboard. If necessary, remove any filters from the search bar. Then, click the Kanban card for the appropriate opportunity to open it." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:259 -msgid "Ensure that the domain (used in the URI: `https://yourdbname.odoo.com/google_account/authentication`) is the exact same domain as configured in the `web.base.url` system parameter." +#: ../../content/applications/productivity/appointments/create-opps.rst:59 +msgid "The contact information from the appointment is added to the opportunity record. The answers the customer provided to the optional questions are included in the :guilabel:`Internal Notes` tab. The scheduled appointment is listed in the *Chatter* of the record, and can be edited from there." msgstr "" -#: ../../content/applications/productivity/calendar/google.rst:263 -msgid "Access the `web.base.url` by activating :ref:`developer mode `, and navigating to :menuselection:`Settings app --> Technical header menu --> Parameters section --> System Parameters`." +#: ../../content/applications/productivity/appointments/create-opps.rst:-1 +msgid "The chatter of an opportunity in the CRM with the scheduled appointment information." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:3 -msgid "Outlook Calendar synchronization" +#: ../../content/applications/productivity/appointments/create-opps.rst:67 +msgid "If an opportunity is created from a :ref:`resource based ` appointment type, the user who created the appointment type is listed as the :guilabel:`Salesperson` for the opportunity. If it is created from a user based appointment, the user the appointment is scheduled with is assigned as the :guilabel:`Salesperson`." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:5 -msgid "Synchronizing a user's *Outlook Calendar* with Odoo is useful for keeping track of tasks and appointments across all related applications." +#: ../../content/applications/productivity/calendar.rst:5 +msgid "Calendar" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:9 -msgid ":doc:`../../general/users/azure`" +#: ../../content/applications/productivity/calendar.rst:7 +msgid "Odoo **Calendar** is a scheduling app that allows users to integrate a company's business flow into a single management platform. By integrating with the other apps in Odoo's ecosystem, **Calendar** allows users to schedule and organize meetings, schedule events, plan employee appraisals, coordinate projects, and more – all from the same platform." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:10 -msgid ":doc:`../../general/email_communication/azure_oauth`" +#: ../../content/applications/productivity/calendar.rst:12 +msgid "Upon opening the :menuselection:`Calendar app`, users have an overview of their current meetings. The selected view option appears as a :guilabel:`Day`, :guilabel:`Week`, :guilabel:`Month`, or :guilabel:`Year` drop-down menu. Under the view options drop-down menu, users can also enable or disable :guilabel:`Show weekends`." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:13 -msgid "Microsoft Azure setup" +#: ../../content/applications/productivity/calendar.rst:-1 +msgid "Overview of Calendar app." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:15 -msgid "To sync the *Outlook Calendar* with Odoo's *Calendar*, a Microsoft *Azure* account is required. Creating an account is free for users who have never tried, or paid for, *Azure*. For more information, view the account options on the `Azure website `_." +#: ../../content/applications/productivity/calendar.rst:21 +msgid "Depending on the selected view option, users can click the :icon:`oi-arrow-left` :icon:`oi-arrow-right` :guilabel:`(left or right arrow)` buttons to switch between days, weeks, etc., and switch back to the current day with the :guilabel:`Today` button." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:20 -msgid "Refer to `Microsoft's documentation `_ on how to set up a Microsoft *Entra ID* (formally called Microsoft *Azure Active Directory (Azure AD)*). This is an API console to manage and register Microsoft applications." +#: ../../content/applications/productivity/calendar.rst:26 +msgid "Sync third-party calendars" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:25 -msgid "Existing Microsoft *Entra ID* users should log in at the `Microsoft Azure developer portal `_. Next, select :guilabel:`View` under the section labeled :guilabel:`Manage Microsoft Entra ID`." +#: ../../content/applications/productivity/calendar.rst:28 +msgid "Users can sync Odoo with existing :doc:`Outlook ` and/or :doc:`Google ` calendars, by heading to :menuselection:`Calendar app --> Configuration --> Settings`. From here, enter :guilabel:`Client ID` and :guilabel:`Client Secret`. There is also an option to pause synchronization by ticking the checkbox, or automating synchronization by keeping it blank." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:30 -msgid "Register application" +#: ../../content/applications/productivity/calendar.rst:34 +msgid "Once the desired configurations are complete, be sure to click :guilabel:`Save` before moving on." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:32 -msgid "After logging in with the Microsoft *Entra ID*, `register an application `_." +#: ../../content/applications/productivity/calendar.rst:36 +msgid "Events created in synced calendars automatically appear across the integrated platforms." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:35 -msgid "To create an application, click :guilabel:`+ Add` in the top menu. From the resulting drop-down menu, select :guilabel:`App Registration`." +#: ../../content/applications/productivity/calendar.rst:39 +msgid ":doc:`Synchronize Outlook calendar with Odoo `" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:-1 -msgid "Microsoft Azure management page with + Add and App Registration menu highlighted." +#: ../../content/applications/productivity/calendar.rst:40 +msgid ":doc:`Synchronize Google calendar with Odoo `" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:42 -msgid "Enter a unique :guilabel:`Name` for the connected application." +#: ../../content/applications/productivity/calendar.rst:43 +msgid "Create activities from chatter" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:44 -msgid "Choosing the appropriate :guilabel:`Supported account type` is essential, or else the connected application will not work. Users who wish to connect their *Outlook Calendar* to Odoo should select the :guilabel:`Accounts in any organizational directory (Any Microsoft Entra ID directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)` option for :guilabel:`Supported account types`." +#: ../../content/applications/productivity/calendar.rst:45 +msgid "Instantly create new meetings anywhere in Odoo through an individual record's chatter, like in a **CRM** opportunity card or task in the **Projects** app." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:50 -msgid "When configuring the :guilabel:`Redirect URI`, choose the :guilabel:`Web` option from the first drop-down menu. Then, enter the Odoo database URI (URL) followed by `/microsoft_account/authentication`." +#: ../../content/applications/productivity/calendar.rst:48 +msgid "From the chatter, click on the :guilabel:`Activities` button. In the :guilabel:`Schedule Activity` pop-up window, select the desired :guilabel:`Activity Type`, which populates a set of buttons, depending on the activity." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:55 -msgid "Enter `https://yourdbname.odoo.com/microsoft_account/authentication` for the :guilabel:`Redirect URI`. Replace `yourdbname.odoo.com` with the :abbr:`URL (Uniform Resource Locator)`." +#: ../../content/applications/productivity/calendar.rst:52 +msgid "Activities that involve other schedules, like :guilabel:`Meeting` or :guilabel:`Call for Demo`, link to the **Calendar** app. Select one of these activities to link to the **Calendar** app, then hit :guilabel:`Open Calendar` to navigate back to the app. Alternatively, it is also possible to :guilabel:`Schedule & Mark as Done` to close out the activity, or select :guilabel:`Done & Schedule Next` to keep the :guilabel:`Schedule Activity` window open to create another." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:59 -msgid "Ensure the database's :abbr:`URL (Uniform Resource Locator)` (domain) used in the URI is the exact same domain as the one configured on the `web.base.url` system parameter." +#: ../../content/applications/productivity/calendar.rst:59 +msgid ":doc:`Schedule activities in Odoo <../essentials/activities>`" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:62 -msgid "Access the `web.base.url` by activating :ref:`developer mode `, and navigating to :menuselection:`Settings app --> Technical header menu --> Parameters section --> System Parameters`. Then, select it from the :guilabel:`Key` list on the :guilabel:`System Parameters` page." +#: ../../content/applications/productivity/calendar.rst:62 +msgid "Plan an event" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:-1 -msgid "The \"Supported account type\" and \"Redirect URI\" settings in the Microsoft Entra ID portal." +#: ../../content/applications/productivity/calendar.rst:64 +msgid "To put an event on the calendar, open the :menuselection:`Calendar app`, and click into the target date. On the :guilabel:`New Event` pop-up window that appears, start by adding the event title." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:71 -msgid "For more information on the restrictions and limitations of URIs, check Microsoft's `Redirect URI (reply URL) restrictions and limitations `_ page." +#: ../../content/applications/productivity/calendar.rst:-1 +msgid "Schedule an event window on Calendar app." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:75 -msgid "Finally, on the application registration page, click :guilabel:`Register` button to complete the application registration. The :guilabel:`Application (client) ID` is produced. Copy this value, as it is needed later, in the :ref:`outlook_calendar/odoo_setup`." +#: ../../content/applications/productivity/calendar.rst:70 +msgid "The target date auto-populates in the :guilabel:`Start` field. This can be changed by clicking into the date section, and selecting a date from the calendar. For multi-day events, select the end date in the second field, then click :guilabel:`Apply`." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:-1 -msgid "Application client ID highlighted in the essentials section of the newly created\n" -"application." +#: ../../content/applications/productivity/calendar.rst:74 +msgid "Tick the :guilabel:`All Day` checkbox if there is no specific start or end time." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:85 -msgid "Create client secret" +#: ../../content/applications/productivity/calendar.rst:76 +msgid "For events with specific start and stop times, ensure the :guilabel:`All Day` checkbox is unticked to enable time selection. With the :guilabel:`All Day` checkbox unticked, time selections appear in the :guilabel:`Start` field." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:87 -msgid "The second credential needed to complete the synchronization of the Microsoft *Outlook Calendar* is the *Client Secret*. The user **must** add a client secret, as this allows Odoo to authenticate itself, requiring no interaction from the user's side. *Certificates* are optional." +#: ../../content/applications/productivity/calendar.rst:80 +msgid "The signed-in user auto-populates as the first attendee. Additional :guilabel:`Attendees` can be added or created from here, as well." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:91 -msgid "To add a client secret, click :menuselection:`Certificates & secrets` in the left menu. Then click :guilabel:`+ New client secret` to create the client secret." +#: ../../content/applications/productivity/calendar.rst:83 +msgid "For virtual meetings, copy and paste the URL into the space provided in the :guilabel:`Videocall URL` field. Or, click :icon:`fa-plus` :guilabel:`Odoo meeting` to create a link." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:-1 -msgid "New client secret page with certificates and secrets menu and new client secret option\n" -"highlighted." +#: ../../content/applications/productivity/calendar.rst:87 +msgid "Next, either create the event by clicking :guilabel:`Save & Close`, or select :guilabel:`More Options` to further configure the event." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:99 -msgid "Next, type a :guilabel:`Description`, and select when the client secret :guilabel:`Expires`. Available options include: :guilabel:`90 days (3 months)`, :guilabel:`365 days (12 months)`, :guilabel:`545 days (18 months)`, :guilabel:`730 days (24 months)` or :guilabel:`Custom`. The :guilabel:`Custom` option allows the administrator to set a :guilabel:`Start` and :guilabel:`End` date." -msgstr "" - -#: ../../content/applications/productivity/calendar/outlook.rst:105 -msgid "Finally, click :guilabel:`Add` to :guilabel:`Add a client secret`." +#: ../../content/applications/productivity/calendar.rst:91 +msgid "Once the event is created, users can click into the virtual meeting directly from the calendar event to access more configuration options." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:108 -msgid "Since resetting the synchronization can be tricky, Odoo recommends setting the maximum allowed expiration date for the client secret (24 months or custom), so there is no need to re-synchronize soon." +#: ../../content/applications/productivity/calendar.rst:-1 +msgid "The full event form for a new calendar event." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:112 -msgid "Copy the :guilabel:`Value` for use in the next section." +#: ../../content/applications/productivity/calendar.rst:97 +msgid "The :guilabel:`Description` field allows users to add additional information and details about the meeting." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:115 -msgid "Client secret values cannot be viewed, except immediately after creation. Be sure to save the secret when created *before* leaving the page." +#: ../../content/applications/productivity/calendar.rst:100 +msgid "Click :guilabel:`More Options` to navigate to the meeting form, which provides additional configurations for the event:" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:121 -msgid "Configuration in Odoo" +#: ../../content/applications/productivity/calendar.rst:103 +msgid ":guilabel:`Duration`: Define the length of the meeting in :guilabel:`hours`, or toggle the :guilabel:`All Day` switch." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:123 -msgid "In the Odoo database, go to :menuselection:`Calendar app --> Configuration --> Settings`, and tick the checkbox beside the :guilabel:`Outlook Calendar` setting. Remember to click :guilabel:`Save` to implement the changes." +#: ../../content/applications/productivity/calendar.rst:105 +msgid ":guilabel:`Recurrent`: Tick the checkbox to create a recurring meeting. Once selected, this opens new fields:" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:-1 -msgid "The \"Outlook Calendar\" setting activated in Odoo." +#: ../../content/applications/productivity/calendar.rst:108 +msgid ":guilabel:`Timezone`: Select the timezone for which this meeting time is specified." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:130 -msgid "From the Microsoft *Azure* portal, under the :guilabel:`Overview` section of the application, copy the :guilabel:`Application (Client) ID`, if it has not already been copied, and paste it into the :guilabel:`Client ID` field in Odoo." +#: ../../content/applications/productivity/calendar.rst:109 +msgid ":guilabel:`Repeat`: Select the recurring period of this meeting. Depending on what type of recurrence has been selected, a subsequent field appears, in which users can indicate when the meeting should recur. For example, if :guilabel:`Monthly` is selected as the :guilabel:`Repeat` option, a new field appears, in which the user decides on what :guilabel:`Day of Month` the meeting should recur." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:-1 -msgid "The \"Client ID\" in the Microsoft Azure portal." +#: ../../content/applications/productivity/calendar.rst:114 +msgid ":guilabel:`Until`: Select the limited :guilabel:`Number of repetitions` this meeting should recur, the :guilabel:`End date` of when the recurrences should stop, or if the meetings should recur :guilabel:`Forever`." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:138 -msgid "Copy the previously-acquired :guilabel:`Value` (Client Secret Value), and paste it into the :guilabel:`Client Secret` field in Odoo." +#: ../../content/applications/productivity/calendar.rst:117 +msgid ":guilabel:`Tags`: Add tags to the event, like `Customer Meeting` or `Internal Meeting`. These can be searched and filtered in the **Calendar** app when organizing multiple events." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:-1 -msgid "The \"Client Secret\" token to be copied from Microsoft to Odoo." +#: ../../content/applications/productivity/calendar.rst:119 +msgid ":guilabel:`Appointment`: Link existing or new appointments. These can be configured through the :ref:`Share Availabilities ` button from the main **Calendar** dashboard." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:145 -msgid "Finally, on the Odoo :menuselection:`Settings --> General Settings` page, click :guilabel:`Save`." +#: ../../content/applications/productivity/calendar.rst:122 +msgid ":guilabel:`Privacy`: Toggle between visibility options to control who can view the event." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:150 -msgid "Sync with Outlook" +#: ../../content/applications/productivity/calendar.rst:123 +msgid ":guilabel:`Organizer`: This is defaulted to the current Odoo user. Select a new one from existing users, or create and edit a new user." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:154 -msgid "Odoo highly recommends testing the Outlook calendar synchronization on a test database and a test email address (that is not used for any other purpose) before attempting to sync the desired Outlook Calendar with the user's production database." +#: ../../content/applications/productivity/calendar.rst:125 +msgid ":guilabel:`Description`: Add additional information or details about the meeting." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:158 -msgid "If the user has any past, present, or future events on their Odoo calendar before syncing their Outlook calendar, Outlook will treat the events pulled from Odoo's calendar during the sync as new events, causing an email notification to be sent from Outlook to all the event attendees." +#: ../../content/applications/productivity/calendar.rst:126 +msgid ":guilabel:`Reminders`: Select notification options to send to attendees. Choose a default notification, or configure new reminders." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:162 -msgid "To avoid unwanted emails being sent to all past, present, and future event attendees, the user must add the events from the Odoo calendar to the Outlook calendar before the first ever sync, delete the events from Odoo, and then start the sync." +#: ../../content/applications/productivity/calendar.rst:130 +msgid "Coordinate with teams' availability" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:166 -msgid "Even after synchronizing the Odoo Calendar with the Outlook calendar, Outlook will still send a notification to all event participants every time an event is edited (created, deleted, unarchived, or event date/time changed), with no exceptions. This is a limitation that cannot be fixed from Odoo's side." +#: ../../content/applications/productivity/calendar.rst:132 +msgid "When scheduling an event for multiple users, on the **Calendar** app dashboard, tick the checkbox next to :guilabel:`Attendees` to view team members' availability. Tick (or untick) the checkbox next to listed users to show (or hide) individual calendars." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:171 -msgid "In summary, once a user synchronizes their Outlook calendar with the Odoo calendar:" +#: ../../content/applications/productivity/calendar.rst:-1 +msgid "View of Attendees section on Calendar app." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:173 -msgid "Creating an event in Odoo causes Outlook to send an invitation to all event attendees." +#: ../../content/applications/productivity/calendar.rst:142 +msgid "Share Availabilities" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:174 -msgid "Deleting an event in Odoo causes Outlook to send a cancellation to all event attendees." +#: ../../content/applications/productivity/calendar.rst:144 +msgid "On the **Calendar** app main dashboard, click the :guilabel:`Share Availabilities` button at the top of the page. Next, click and drag to select the available times and dates on the calendar to add them as options in the invitation." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:175 -msgid "Unarchiving an event in Odoo causes Outlook to send an invitation to all event attendees." +#: ../../content/applications/productivity/calendar.rst:149 +msgid "To remove a selected time range, hover over the availability to click the :icon:`fa-trash` :guilabel:`(trash)` icon." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:176 -msgid "Archiving an event in Odoo causes Outlook to send a cancellation to all event attendees." +#: ../../content/applications/productivity/calendar.rst:153 +msgid "Within the :guilabel:`Share Availabilities` feature, selecting times is only possible on the *Day* calendar views." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:177 -msgid "Adding a contact to an event causes Outlook to send an invitation to all event attendees." +#: ../../content/applications/productivity/calendar.rst:156 +msgid "Once availability has been selected, click the :icon:`fa-external-link` :guilabel:`Open` button to navigate to the associated appointment." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:178 -msgid "Removing a contact from an event causes Outlook to send a cancellation to all event attendees." +#: ../../content/applications/productivity/calendar.rst:-1 +msgid "Share availability window on Calendar app." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:181 -msgid "Sync Odoo Calendar and Outlook" +#: ../../content/applications/productivity/calendar.rst:162 +msgid "Several configuration options are available on the appointment form:" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:183 -msgid "In the Odoo database, open to the *Calendar* module, and click the :guilabel:`Outlook` sync button on the right-side of the page, beneath the monthly calendar." +#: ../../content/applications/productivity/calendar.rst:164 +msgid "In the :guilabel:`Scheduling` field, set a minimum hour window to ensure appointments are confirmed a specified amount of time in advance. For example, set `01:00` to require attendees to confirm at least one hour before their appointment time." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:-1 -msgid "The \"Outlook\" sync button in Odoo Calendar." +#: ../../content/applications/productivity/calendar.rst:168 +msgid "In the :guilabel:`Allow Cancelling` field, set a maximum hour window before the appointment that attendees are able to cancel." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:190 -msgid "The synchronization is a two-way process, meaning that events are reconciled in both accounts (*Outlook* and Odoo). The page redirects to a Microsoft login page, and the user is asked to log in to their account, if they are not already. Finally, grant the required permissions by clicking :guilabel:`Accept`." +#: ../../content/applications/productivity/calendar.rst:171 +msgid "The :guilabel:`Availability on` field enables attendees to book :guilabel:`Users` or :guilabel:`Resources`, such as meeting rooms or tables. After selecting :guilabel:`Users` or :guilabel:`Resources`, type in the desired user or resource in the space below." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:-1 -msgid "Authentication process on Microsoft Outlook OAuth page." +#: ../../content/applications/productivity/calendar.rst:175 +msgid "The :guilabel:`Front-End Display` field is used to choose :guilabel:`No Picture` or :guilabel:`Show Pictures` related to the selected user or resource on the appointment page." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:200 -msgid "All users that want to use the synchronization simply need to :ref:`sync their calendar with Outlook `. The configuration of Microsoft's *Azure* account is only done once, as Microsoft *Entra ID* tenants' client IDs and client secrets are unique, and help the user manage a specific instance of Microsoft cloud services for internal and external users." +#: ../../content/applications/productivity/calendar.rst:178 +msgid "If :guilabel:`Resources` has been selected in the :guilabel:`Availability on` field, users have an option to :guilabel:`Manage Capacities`." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:206 -msgid ":doc:`../../general/integrations/mail_plugins/outlook`" +#: ../../content/applications/productivity/calendar.rst:181 +msgid "Tick the checkbox to limit the maximum amount of people that can use the resource at the same time." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:207 -msgid ":doc:`google`" +#: ../../content/applications/productivity/calendar.rst:183 +msgid "The :guilabel:`Assignment Method` field enables the order in which attendees book their time and user/resource:" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:212 -msgid "There may be times when the *Microsoft Outlook Calendar* account does not sync correctly with Odoo. Sync issues can be seen in the database logs." +#: ../../content/applications/productivity/calendar.rst:186 +msgid ":guilabel:`Pick User/Resource then Time`" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:215 -msgid "In these cases, the account needs troubleshooting. A reset can be performed using the :guilabel:`Reset Account` button, which can be accessed by navigating to :menuselection:`Settings app --> Manage Users`. Then, select the user to modify the calendar, and click on the :guilabel:`Calendar` tab." +#: ../../content/applications/productivity/calendar.rst:187 +msgid ":guilabel:`Select Time then User/Resource`" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:229 -msgid "The following reset options are available for troubleshooting *Microsoft Outlook Calendar* sync with Odoo:" +#: ../../content/applications/productivity/calendar.rst:189 +msgid "If :guilabel:`Resources` has been selected in the :guilabel:`Availability On` field, a third option is available, :guilabel:`Select Time then auto-assign`." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:-1 -msgid "Outlook calendar reset options in Odoo." +#: ../../content/applications/productivity/calendar.rst:192 +msgid "Optionally, configure the following tabs:" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:239 -msgid ":guilabel:`Delete from the current Microsoft Calendar account`: delete the events from *Microsoft Outlook Calendar*." +#: ../../content/applications/productivity/calendar.rst:194 +msgid ":ref:`calendar/appointment-schedule`" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:242 -msgid ":guilabel:`Delete from both`: delete the events from both *Microsoft Outlook Calendar* and Odoo calendar." +#: ../../content/applications/productivity/calendar.rst:195 +msgid ":ref:`calendar/appointment-options`" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:247 -msgid ":guilabel:`Synchronize only new events`: sync new events on *Microsoft Outlook Calendar* and/or Odoo calendar." +#: ../../content/applications/productivity/calendar.rst:196 +msgid ":ref:`calendar/appointment-questions`" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:249 -msgid ":guilabel:`Synchronize all existing events`: sync all events on *Microsoft Outlook Calendar* and/or Odoo calendar." +#: ../../content/applications/productivity/calendar.rst:197 +msgid ":ref:`calendar/appointment-messages`" msgstr "" -#: ../../content/applications/productivity/dashboards.rst:5 -msgid "Dashboards" +#: ../../content/applications/productivity/calendar.rst:199 +msgid "Click the :guilabel:`Preview` button to see how the appointment link looks for attendees." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:13 -msgid "**Odoo Dashboards** allows you to consult, customize, and build interactive dashboards that display real-time data from your Odoo database in an easy-to-understand way. By centralizing data from various Odoo sources in a single location, dashboards provide an overview of key business metrics that can help you monitor business performance and make informed decisions." +#: ../../content/applications/productivity/calendar.rst:201 +msgid "Once the configurations are finished, click the :guilabel:`Share` button to generate a link to send directly, or click :guilabel:`Publish` to publish the appointment selection on the connected Odoo website." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:18 -msgid ":doc:`Odoo spreadsheets <../../applications/productivity/spreadsheet>` serve as the foundation for dashboards, with tables and charts used to structure and visualize dynamic Odoo data. :ref:`Data sources ` connect a dashboard's underlying spreadsheet to your database, ensuring the most recent data is retrieved every time the dashboard is opened or refreshed." +#: ../../content/applications/productivity/calendar.rst:210 +msgid "In the :guilabel:`Schedule` tab of the appointment form, time slots can be managed. The target date and time populate as the first time slots." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:24 -msgid "With Odoo Dashboards, users can, depending on their :ref:`access rights `:" +#: ../../content/applications/productivity/calendar.rst:213 +msgid "To add a new time slot, hit :guilabel:`Add a line`. Click into the new blank space under the :guilabel:`From` field, then select and enter the new target start date and time, respectively. Repeat under the new blank space under :guilabel:`To` to select and enter the new target end date and time." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:27 -msgid ":ref:`consult dashboards `, including :ref:`standard, pre-configured dashboards `" +#: ../../content/applications/productivity/calendar.rst:223 +msgid "The :guilabel:`Options` tab provides additional configurations:" msgstr "" -#: ../../content/applications/productivity/dashboards.rst:29 -msgid ":ref:`interact with dashboards ` using filters and by accessing underlying data" +#: ../../content/applications/productivity/calendar.rst:225 +msgid ":guilabel:`Website`: Specify which website this meeting invitation will be published on." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:31 -msgid ":ref:`share a snapshot of a dashboard ` with internal users who do not have the appropriate access rights or with external users" +#: ../../content/applications/productivity/calendar.rst:226 +msgid ":guilabel:`Timezone`: This defaults to the company's timezone selected in the **Settings** app. To change the timezone, select the desired option from the drop-down menu." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:33 -msgid ":doc:`build custom dashboards <../../applications/productivity/dashboards/build_and_customize_dashboards>` using Odoo Spreadsheet" +#: ../../content/applications/productivity/calendar.rst:228 +msgid ":guilabel:`Location`: Select or create new locations from the drop-down menu. If this field is left empty, the meeting is considered to be taking place online." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:36 -msgid ":ref:`customize dashboards ` to modify what data is shown, the layout, or the filters available" +#: ../../content/applications/productivity/calendar.rst:230 +msgid ":guilabel:`Videoconference Link`: Select from :guilabel:`Odoo Discuss` or :guilabel:`Google Meet` to include a video conference link in the meeting invitation, or leave it blank to prevent generating a meeting URL." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:38 -msgid ":ref:`manage access rights ` to dashboards" +#: ../../content/applications/productivity/calendar.rst:233 +msgid ":guilabel:`Manual Confirmation`: Only shown if :guilabel:`Resources` has been selected in the :guilabel:`Availability On` field. Tick the checkbox and enter a maximum percentage of the selected resource(s)' total capacity to create a manual confirmation requirement to finalize the meeting." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:39 -msgid "centralize frequently consulted Odoo views on a personal :doc:`../../applications/productivity/dashboards/my_dashboard` page" +#: ../../content/applications/productivity/calendar.rst:237 +msgid ":guilabel:`Up-front Payment`: Tick the checkbox to require users to pay before confirming their booking. Once this is ticked, a link appears to :icon:`oi-arrow-right` :guilabel:`Configure Payment Providers`, which enables online payments." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:43 -msgid "Once a spreadsheet has been converted into a dashboard, it can only be accessed via the Dashboards app." +#: ../../content/applications/productivity/calendar.rst:240 +msgid ":guilabel:`Limit to Work Hours`: If :guilabel:`Users` has been selected in the :guilabel:`Availability On` field, tick the checkbox to limit meeting time slots to the selected :doc:`users' working hours <../hr/employees/new_employee>`." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:45 -msgid "Unlike other Odoo dashboards, :guilabel:`My Dashboard` is not based on Odoo Spreadsheet, but rather on :doc:`Odoo views <../studio/views>`." +#: ../../content/applications/productivity/calendar.rst:243 +msgid ":guilabel:`Create Opportunities`: When this is selected, each scheduled appointment creates a new **CRM** opportunity." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:51 -msgid "Consult dashboards" +#: ../../content/applications/productivity/calendar.rst:245 +msgid ":guilabel:`Reminders`: Add or delete notification reminders in this field. Select the blank space for additional options." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:53 -msgid "On the main Dashboards page, the left panel lists all :ref:`dashboards a user has access to `, grouped by section. Clicking on a dashboard name opens that dashboard in the main part of the page." +#: ../../content/applications/productivity/calendar.rst:247 +msgid ":guilabel:`Confirmation Email`: Tick the checkbox to automatically send a confirmation email to attendees once the meeting is confirmed. Select from the email templates or click :guilabel:`Search More...`, then :guilabel:`New` to create a custom template." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:58 -msgid "Clicking the :icon:`fa-angle-double-left` :guilabel:`(double chevron)` icon at the top of the left panel collapses the panel, maximizing the space available for dashboards." +#: ../../content/applications/productivity/calendar.rst:250 +msgid ":guilabel:`Cancelation Email`: Tick the checkbox to automatically send a cancelation email to attendees if the meeting is canceled. Select from the email templates or click :guilabel:`Search More...`, then :guilabel:`New` to create a custom template." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:64 -msgid "Standard dashboards" +#: ../../content/applications/productivity/calendar.rst:253 +msgid ":guilabel:`CC to`: Add contacts to be notified of meeting updates in this field, regardless if they attend the meeting." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:66 -msgid "Depending on which apps are installed, a series of standard dashboards is available by default." +#: ../../content/applications/productivity/calendar.rst:255 +msgid ":guilabel:`Allow Guests`: Tick the checkbox to allow attendees to invite guests." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:68 -msgid "These pre-configured dashboards have been designed to provide the most relevant insights for the topic in question. Data on specific aspects of the topic is presented in tables and charts, while dashboard-specific filters allow users to tailor the view to their needs." +#: ../../content/applications/productivity/calendar.rst:262 +msgid "In the :guilabel:`Questions` tab, add questions for the attendee to answer when confirming their meeting. Click :guilabel:`Add a line` to configure a :guilabel:`Question`. Then select a :guilabel:`Question Type`, optionally add a :guilabel:`Placeholder` answer, and choose whether it is a :guilabel:`Required Answer`." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:73 -msgid "Within the :guilabel:`Sales` section in the Dashboards app, the :guilabel:`Sales` dashboard gives an overview of the number of quotations and orders, the revenue, and the average order value, as well as a chart showing monthly sales. It also includes tables listing top quotations and sales orders, top-performing products and salespeople, and top countries served." +#: ../../content/applications/productivity/calendar.rst:267 +msgid "To learn how to create more comprehensive questionnaires, head to the **Survey** app documentation on :doc:`creating and configuring data-capturing questions <../marketing/surveys/questions>`." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:78 -msgid "A series of pre-configured global filters, available via the search bar above the dashboard, allows the entire dashboard to be filtered by, e.g., product or sales team. A default value of `Last 90 days` in the period filter means data from the previous 90 days is automatically retrieved every time the dashboard is opened or refreshed." +#: ../../content/applications/productivity/calendar.rst:276 +msgid "In the :guilabel:`Introduction Message` field of the :guilabel:`Messages` tab, add additional meeting information that appears on the invitation." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:0 -msgid "Overview of Sales dashboard" +#: ../../content/applications/productivity/calendar.rst:279 +msgid "Information added to the :guilabel:`Extra Message on Confirmation` field appears once the meeting is confirmed." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:86 -msgid "Standard dashboards can be :ref:`customized ` by a user with the appropriate :ref:`access rights `. For example, dashboard elements like tables and charts, or global filters can be added, edited, or removed." +#: ../../content/applications/productivity/calendar/google.rst:3 +msgid "Google Calendar synchronization" msgstr "" -#: ../../content/applications/productivity/dashboards.rst:92 -msgid "When customizing a standard dashboard, it is highly recommended to :ref:`duplicate the dashboard ` and make any changes on the duplicated version. Standard dashboards are reinstalled at each Odoo version upgrade, meaning any customizations on the original version are lost." +#: ../../content/applications/productivity/calendar/google.rst:5 +msgid "Synchronize Google Calendar with Odoo to see and manage meetings from both platforms (updates go in both directions). This integration helps organize schedules, so a meeting is never missed." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:100 -msgid "Interact with dashboards" +#: ../../content/applications/productivity/calendar/google.rst:9 +msgid ":doc:`/applications/general/users/google`" msgstr "" -#: ../../content/applications/productivity/dashboards.rst:102 -msgid "In addition to consulting a dashboard for a high-level overview of key business data, it is also possible to interact with the dashboard for a more detailed analysis:" +#: ../../content/applications/productivity/calendar/google.rst:10 +msgid ":doc:`/applications/general/email_communication/google_oauth`" msgstr "" -#: ../../content/applications/productivity/dashboards.rst:105 -msgid "**Filter data**: Most standard dashboards have one or more :doc:`global filters `, shown as dropdown menus, at the top of the dashboard. These filters allow all the data on the dashboard to be filtered at the same time, for example, to show data only for a specific period of time, or for one or more salespeople or customers." +#: ../../content/applications/productivity/calendar/google.rst:13 +msgid "Setup in Google" msgstr "" -#: ../../content/applications/productivity/dashboards.rst:110 -msgid "**Open underlying database records**: To access database records referenced by a dashboard, click on the relevant value in a table or on a data point on a chart. Doing so opens either the individual record, or, in the case of charts or tables displaying consolidated data, a list of the referenced records." +#: ../../content/applications/productivity/calendar/google.rst:16 +msgid "Select (or create) a project" msgstr "" -#: ../../content/applications/productivity/dashboards.rst:115 -msgid "**Open underlying database views**: To access the view from which the data for a specific chart or table is retrieved, click on the title of the chart or table. Doing so opens the corresponding list view, pivot view or graph view." +#: ../../content/applications/productivity/calendar/google.rst:18 +msgid "Create a new Google API project and enable the Google Calendar API. First, go to the `Google API Console `_ and log into the Google account." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:120 -msgid "To return to a dashboard after drilling down to underlying records or views, click the :guilabel:`Dashboards` breadcrumb at the upper left of the page." +#: ../../content/applications/productivity/calendar/google.rst:22 +msgid "If this is the first time visiting this page, Google will prompt the user to enter a country and agree to the Terms of Service. Select a country from the drop-down list and agree to the :abbr:`ToS (Terms of Service)`." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:129 -msgid "Only a user with the appropriate :ref:`access rights ` can configure or modify settings for dashboards and dashboard sections." +#: ../../content/applications/productivity/calendar/google.rst:26 +msgid "Next, click :guilabel:`Select a project` and select (or create) an API project to configure OAuth in, and store credentials. Click :guilabel:`New Project`." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:132 -msgid "To manage dashboards and dashboard sections, go to :menuselection:`Configuration --> Dashboards`. The following actions are possible at the level of dashboard sections:" +#: ../../content/applications/productivity/calendar/google.rst:-1 +msgid "Create a new API project to store credentials." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:135 -msgid "**Change the order of dashboard sections** by using the :icon:`oi-draggable` :guilabel:`(drag handle)` icon to move a section to a new position." +#: ../../content/applications/productivity/calendar/google.rst:32 +msgid "Give the API project a clear name, like `Odoo Sync`, so it can be identified. Then click the :guilabel:`Create` button." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:138 -msgid "**Duplicate a dashboard section** by selecting the relevant section name, clicking the :icon:`fa-cog` :guilabel:`Actions` button, and then :icon:`fa-clone` :guilabel:`Duplicate`. The dashboards within the section are not duplicated." +#: ../../content/applications/productivity/calendar/google.rst:36 +msgid "Enable Google calendar API" msgstr "" -#: ../../content/applications/productivity/dashboards.rst:142 -msgid "**Delete a dashboard section** by selecting the relevant section name, clicking the :icon:`fa-cog` :guilabel:`Actions` button then :icon:`fa-trash-o` :guilabel:`Delete`." +#: ../../content/applications/productivity/calendar/google.rst:38 +msgid "Now, click on :guilabel:`Enabled APIs and Services` in the left menu. Select :guilabel:`Enabled APIs and Services` again if the :guilabel:`Search bar` does not appear." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:146 -msgid "Standard, pre-installed dashboard sections cannot be deleted; custom dashboard sections, on the other hand, can be deleted." +#: ../../content/applications/productivity/calendar/google.rst:-1 +msgid "Enable APIs and Services on the API Project." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:149 -msgid "**Create a new dashboard section** by clicking :guilabel:`New`, then entering the section name. When creating a new section, it is possible to add a dashboard to the new section directly by clicking :guilabel:`Add a spreadsheet`." +#: ../../content/applications/productivity/calendar/google.rst:44 +msgid "After that, search for `Google Calendar API` using the search bar and select :guilabel:`Google Calendar API` from the search results. Click :guilabel:`Enable`." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:153 -msgid "Clicking on an individual dashboard section lists all dashboards within that section. The following actions are possible:" +#: ../../content/applications/productivity/calendar/google.rst:-1 +msgid "Enable the Google Calendar API." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:156 -msgid "**Change the order of a dashboard within its section** by using the :icon:`oi-draggable` :guilabel:`(drag handle)` icon to move the dashboard to a new position." +#: ../../content/applications/productivity/calendar/google.rst:51 +msgid "OAuth consent screen" msgstr "" -#: ../../content/applications/productivity/dashboards.rst:159 -msgid "**Edit the name of a dashboard section or dashboard** by clicking the name and modifying it." +#: ../../content/applications/productivity/calendar/google.rst:53 +msgid "Now that the API project has been created, OAuth should be configured. To do that, click on :guilabel:`OAuth consent screen` in the left menu, then click the :guilabel:`Get started` button." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:161 -msgid "**Add or remove user groups** to :ref:`control access to the dashboard `." +#: ../../content/applications/productivity/calendar/google.rst:57 +msgid "*Personal* Gmail Accounts are only allowed to be **External** User Type, which means Google may require an approval, or for *Scopes* to be added on. However, using a *Google WorkSpace* account allows for **Internal** User Type to be used." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:164 -msgid "**Select a company** if, in a :doc:`multi-company <../../applications/general/companies/multi_company>` database, the dashboard should only be visible to users of one company. If this field is left blank, the dashboard is visible to all users with the appropriate access rights, regardless of which company is currently selected in the database." +#: ../../content/applications/productivity/calendar/google.rst:61 +msgid "Note, as well, that while the API connection is in the *External* testing mode, then no approval is necessary from Google. User limits in this testing mode is set to 100 users." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:170 -msgid "**Unpublish a dashboard** by disabling the :guilabel:`Is Published` toggle." +#: ../../content/applications/productivity/calendar/google.rst:64 +msgid "Follow the proceeding steps, in order:" msgstr "" -#: ../../content/applications/productivity/dashboards.rst:172 -msgid "**Edit the underlying spreadsheet** of a dashboard by clicking :icon:`fa-pencil` :guilabel:`Edit` on the line of the relevant dashboard." +#: ../../content/applications/productivity/calendar/google.rst:66 +msgid "In :guilabel:`App Information`, type `Odoo` in the :guilabel:`App name` field, then enter the email address for the :guilabel:`User support email` field and click the :guilabel:`Next` button." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:176 -msgid "When customizing a standard dashboard, it is highly recommended to :ref:`duplicate the dashboard ` and make any changes on the underlying spreadsheet of the duplicated version. Standard dashboards are reinstalled at each Odoo version upgrade, meaning any customizations on the original version are lost." +#: ../../content/applications/productivity/calendar/google.rst:68 +msgid "In :guilabel:`Audience`, select :guilabel:`External`, then click the :guilabel:`Next` button." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:181 -msgid "**Delete a dashboard** by clicking the :icon:`fa-trash` :guilabel:`(trash)` icon." +#: ../../content/applications/productivity/calendar/google.rst:69 +msgid "In :guilabel:`Contact Information`, enter the email again, then click the :guilabel:`Next` button." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:184 -msgid "A standard dashboard that is deleted is reinstalled at the next Odoo version upgrade." +#: ../../content/applications/productivity/calendar/google.rst:71 +msgid "In :guilabel:`Finish`, tick the checkbox to agree to :guilabel:`Google API Services: User Policy.` For the last step, click the :guilabel:`Create` button." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:186 -msgid "**Add a new dashboard to the section** by clicking :guilabel:`Add a spreadsheet`. Two options exist:" +#: ../../content/applications/productivity/calendar/google.rst:75 +msgid "Authorized domain setup" msgstr "" -#: ../../content/applications/productivity/dashboards.rst:189 -msgid "To convert an existing spreadsheet into a dashboard and add it to the new section, select the relevant spreadsheet, then click :guilabel:`Confirm`. Back in the section overview, update the :guilabel:`Group` and :guilabel:`Company` fields if needed." +#: ../../content/applications/productivity/calendar/google.rst:77 +msgid "Next, any domains set to appear on the consent screen or in an OAuth client's configuration must be pre-registered. To do so, navigate to :guilabel:`Branding` in the left menu. In the :guilabel:`Authorized domains` section, click the :guilabel:`Add domain` button to create a field to enter an authorized domain. Enter a domain, such as `odoo.com`, then click the :guilabel:`Save` button at the bottom of the page." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:193 -msgid "To start creating a dashboard from scratch, select :guilabel:`Blank spreadsheet`. To return to the section overview, click the name of the section at the top left of the page. Update the :guilabel:`Group` and :guilabel:`Company` fields if needed." +#: ../../content/applications/productivity/calendar/google.rst:84 +msgid "Test users" msgstr "" -#: ../../content/applications/productivity/dashboards.rst:198 -msgid "After a spreadsheet has been converted into a dashboard, it can only be :ref:`accessed and edited via the Dashboards app `." +#: ../../content/applications/productivity/calendar/google.rst:86 +msgid "To give users the ability to sync with personal Gmail accounts, they must be set as a test user. Setup test users by going to :guilabel:`Audience` in the left-side menu and clicking the :guilabel:`Add users` button in the :guilabel:`Test users` section. Enter any desired user emails, and click the :guilabel:`Save` button." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:202 -msgid "A newly created dashboard is by default accessible to users belonging to the default internal :ref:`user group `. Edit this if needed via the configuration page of the relevant dashboard section." +#: ../../content/applications/productivity/calendar/google.rst:92 +msgid "Create credentials" msgstr "" -#: ../../content/applications/productivity/dashboards.rst:205 -msgid "It is also possible to :ref:`convert a spreadsheet into a dashboard ` and add it to a dashboard section starting from the spreadsheet in the Documents app." +#: ../../content/applications/productivity/calendar/google.rst:94 +msgid "The *Client ID* and the *Client Secret* are both needed to connect Google Calendar to Odoo. This is the last step in the Google console. Begin by clicking :guilabel:`Clients` in the left menu. Then, click :guilabel:`Create Credentials`, and select :guilabel:`OAuth client ID`, Google will open a guide to create credentials." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:212 -msgid "Access rights and sharing" +#: ../../content/applications/productivity/calendar/google.rst:99 +msgid "Under :menuselection:`Create OAuth Client ID`, select :guilabel:`Website application` for the :guilabel:`Application Type` field, and type `My Odoo Database` for the :guilabel:`Name`." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:217 -msgid "Consulting dashboards" +#: ../../content/applications/productivity/calendar/google.rst:102 +msgid "Under the :guilabel:`Authorized JavaScript Origins` section, click :guilabel:`+ Add URI` and type the company's Odoo full :abbr:`URL (Uniform Resource Locator)` address." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:219 -msgid "The *right to view and interact with a dashboard* is based on :ref:`user groups `, and is managed in the :ref:`Configuration settings ` of the Dashboards app. Only users who are part of a group that has been granted access to a specific dashboard see that dashboard in the left-hand panel on the main Dashboards page. Users with `Dashboard / Admin` access rights can view all dashboards." +#: ../../content/applications/productivity/calendar/google.rst:104 +msgid "Under the :guilabel:`Authorized redirect URIs` section, click :guilabel:`+ Add URI` and type the company's Odoo :abbr:`URL (Uniform Resource Locator)` address followed by `/google_account/authentication`. Finally, click :guilabel:`Create`." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:226 -msgid "However, the *visibility of dynamic Odoo data within a dashboard* is handled separately. This is based on a user's :ref:`access rights ` to the model from which the data has been retrieved, and takes into account any record rules that may restrict access." +#: ../../content/applications/productivity/calendar/google.rst:-1 +msgid "Add the authorized JavaScript origins and the authorized redirect URIs." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:231 -msgid "User permissions are taken into account when a user opens a dashboard, with the dashboard only being populated with data the user is authorized to see. This means that a user could in theory be able to view a dashboard but, due to a lack of appropriate permissions, not be able to see the Odoo data the dashboard's creator intended to be displayed." +#: ../../content/applications/productivity/calendar/google.rst:111 +msgid "A :guilabel:`Client ID` and :guilabel:`Client Secret` will appear, save these somewhere safe." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:236 -msgid "Therefore, it is crucial to take user permissions into consideration when granting dashboard access to groups." +#: ../../content/applications/productivity/calendar/google.rst:114 +msgid "Setup in Odoo" msgstr "" -#: ../../content/applications/productivity/dashboards.rst:240 -msgid "Granting the user group `Sales / User: Own Documents Only` access to the :guilabel:`Sales` dashboard would serve little purpose. While users belonging to that group would be able to view and interact with the dashboard, they would only see data related to their own sales, rendering the overall dashboard misleading." +#: ../../content/applications/productivity/calendar/google.rst:116 +msgid "Once the *Client ID* and the *Client Secret* are located, open the Odoo database and go to :menuselection:`Settings --> Calendar` to find the :guilabel:`Google Calendar` feature. Tick the checkbox labeled :guilabel:`Google Calendar`." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:248 -msgid "Manage access rights to view dashboards" +#: ../../content/applications/productivity/calendar/google.rst:-1 +msgid "The Google Calendar checkbox in General Settings." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:250 -msgid "To manage users' rights to view and interact with a dashboard:" +#: ../../content/applications/productivity/calendar/google.rst:123 +msgid "Next, copy and paste the *Client ID* and the *Client Secret* from the Google Calendar API credentials page into their respective fields below the :guilabel:`Google Calendar` checkbox. Then, click :guilabel:`Save`." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:252 -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:118 -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:160 -msgid "In the Dashboards app, go to :menuselection:`Configuration --> Dashboards`." +#: ../../content/applications/productivity/calendar/google.rst:128 +msgid "Tick the :guilabel:`Pause Synchronization` checkbox to temporarily pause events from being updated. This allows for testing and troubleshooting without removing credentials or uninstalling the synchronization. To resume the sync, clear the checkbox and save." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:253 -msgid "From the list of dashboard sections, open the relevant section." +#: ../../content/applications/productivity/calendar/google.rst:133 +msgid "Sync calendar in Odoo" msgstr "" -#: ../../content/applications/productivity/dashboards.rst:254 -msgid "On the line of the relevant dashboard, in the :guilabel:`Group` column:" +#: ../../content/applications/productivity/calendar/google.rst:135 +msgid "Finally, open the :menuselection:`Calendar` app in Odoo and click on the :guilabel:`Google` sync button to sync Google Calendar with Odoo." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:256 -msgid "add a user group by clicking the field until a dropdown with user groups appears, then selecting the appropriate user group. In the dropdown, click :guilabel:`Search More` to access the full list of user groups;" +#: ../../content/applications/productivity/calendar/google.rst:-1 +msgid "Click the Google sync button in Odoo Calendar to sync Google Calendar with Odoo." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:259 -msgid "remove a user group by clicking the relevant group name, then clicking :icon:`fa-times` :guilabel:`(Delete)`." +#: ../../content/applications/productivity/calendar/google.rst:142 +msgid "When syncing Google Calendar with Odoo for the first time, the page will redirect to the Google Account. From there, select the :guilabel:`Email Account` that should have access, then select :guilabel:`Continue` (should the app be unverified), and finally select :guilabel:`Continue` (to give permission for the transfer of data)." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:265 -msgid "Building, customizing and configuring dashboards" +#: ../../content/applications/productivity/calendar/google.rst:-1 +msgid "Give Odoo permission to access Google Calendar." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:267 -msgid "Only users with `Dashboards / Admin` access rights can :ref:`customize dashboards ` or :ref:`configure dashboard settings `. To :ref:`build a dashboard from scratch `, a user must have both `Dashboards / Admin` and, at minimum for the Documents app, `Documents / User` access rights." +#: ../../content/applications/productivity/calendar/google.rst:150 +msgid "Now, Odoo Calendar is successfully synced with Google Calendar!" msgstr "" -#: ../../content/applications/productivity/dashboards.rst:276 -msgid "Share dashboard snapshot" +#: ../../content/applications/productivity/calendar/google.rst:153 +msgid "Odoo highly recommends testing the Google calendar synchronization on a test database and a test email address (that is not used for any other purpose) before attempting to sync the desired Google Calendar with the user's production database." msgstr "" -#: ../../content/applications/productivity/dashboards.rst:278 -msgid "To share a frozen version of a dashboard with an internal user who does not have the appropriate access or with an external party, click :icon:`fa-share-alt` :guilabel:`Share` at the top-right of the page then click the :icon:`fa-clone` :guilabel:`(copy)` icon to copy a shareable link to your clipboard." +#: ../../content/applications/productivity/calendar/google.rst:157 +msgid "Once a user synchronizes their Google calendar with the Odoo calendar:" msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:3 -msgid "Build and customize dashboards" +#: ../../content/applications/productivity/calendar/google.rst:159 +msgid "Creating an event in Odoo causes Google to send an invitation to all event attendees." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:5 -msgid "In addition to consulting :ref:`standard dashboards `, users with the appropriate :ref:`access rights ` can :ref:`build custom dashboards from scratch ` or :ref:`customize existing dashboards ` to respond to specific business needs." +#: ../../content/applications/productivity/calendar/google.rst:160 +msgid "Deleting an event in Odoo causes Google to send a cancellation to all event attendees." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:14 -msgid "Build a dashboard" +#: ../../content/applications/productivity/calendar/google.rst:161 +msgid "Adding a contact to an event causes Google to send an invitation to all event attendees." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:16 -msgid "In its most simple terms, building a dashboard involves :doc:`inserting Odoo data into a spreadsheet <../../../applications/productivity/spreadsheet/insert>` then :ref:`converting that spreadsheet into a dashboard `." +#: ../../content/applications/productivity/calendar/google.rst:162 +msgid "Removing a contact from an event causes Google to send a cancellation to all event attendees." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:20 -msgid "However, to build a dashboard that delivers relevant and valuable insights, it is important to consider the process in terms of three key stages: :ref:`preparation `, :ref:`data insertion and manipulation `, and :ref:`data visualization `." +#: ../../content/applications/productivity/calendar/google.rst:164 +msgid "Events can be created in *Google Calendar* without sending a notification by selecting :guilabel:`Don't Send` when prompted to send invitation emails." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:29 -msgid "Preparation" +#: ../../content/applications/productivity/calendar/google.rst:168 +#: ../../content/applications/productivity/calendar/outlook.rst:210 +msgid "Troubleshoot sync" msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:31 -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:48 -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:64 -msgid "This stage involves:" +#: ../../content/applications/productivity/calendar/google.rst:170 +msgid "There may be times when the *Google Calendar* account does not sync correctly with Odoo. Sync issues can be seen in the database logs." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:33 -msgid "defining the purpose of the dashboard, in other words, the business questions it needs to answer, and deciding what data would answer those questions;" +#: ../../content/applications/productivity/calendar/google.rst:173 +msgid "In these cases, the account needs troubleshooting. A reset can be performed using the :guilabel:`Reset Account` button, which can be accessed by navigating to :menuselection:`Settings app --> Manage Users`. Then, select the user to modify the calendar, and click the :guilabel:`Calendar` tab." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:35 -msgid "determining where to find the relevant Odoo data and deciding which :doc:`type of view <../../../applications/studio/views>` (i.e., list, pivot table, or chart) is most suited for the data analysis needed;" +#: ../../content/applications/productivity/calendar/google.rst:-1 +#: ../../content/applications/productivity/calendar/outlook.rst:-1 +msgid "Reset buttons highlighted on the calendar tab of the user." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:38 -msgid "preparing the Odoo data by refining the views to focus on the most relevant information, e.g., by using :doc:`search filters <../../../applications/essentials/search>`, by making only certain list fields visible, or by deciding which dimensions and measures a pivot table should use;" +#: ../../content/applications/productivity/calendar/google.rst:181 +#: ../../content/applications/productivity/calendar/outlook.rst:224 +msgid "Next, click :guilabel:`Reset Account` under the correct calendar." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:41 -msgid "sourcing any other information needed to support the dashboard." +#: ../../content/applications/productivity/calendar/google.rst:184 +#: ../../content/applications/productivity/calendar/outlook.rst:227 +msgid "Reset options" msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:46 -msgid "Data insertion and manipulation" +#: ../../content/applications/productivity/calendar/google.rst:186 +msgid "The following reset options are available for troubleshooting Google calendar sync with Odoo:" msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:50 -msgid ":doc:`inserting the prepared lists, pivot tables or charts <../../../applications/productivity/spreadsheet/insert>` into the spreadsheet you will use to build your dashboard;" +#: ../../content/applications/productivity/calendar/google.rst:-1 +msgid "Google calendar reset options in Odoo." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:53 -msgid "manipulating the data, if needed, to be able to draw the necessary insights. This may involve performing calculations or creating custom metrics using :doc:`standard or Odoo-specific functions and formulas <../../../applications/productivity/spreadsheet/functions>`, referencing data from various sources within the spreadsheet, or :doc:`converting static pivot tables to dynamic pivot tables <../../../applications/productivity/spreadsheet/dynamic_pivot_tables>`." +#: ../../content/applications/productivity/calendar/google.rst:191 +#: ../../content/applications/productivity/calendar/outlook.rst:236 +msgid ":guilabel:`User's Existing Events`:" msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:62 -msgid "Data visualization" +#: ../../content/applications/productivity/calendar/google.rst:193 +#: ../../content/applications/productivity/calendar/outlook.rst:238 +msgid ":guilabel:`Leave them untouched`: no changes to the events." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:66 -msgid "presenting the data on at least the first sheet of your spreadsheet (i.e., the sheet that will serve as the front end of your dashboard) in a clear, visual, and meaningful way so it is easy to interpret. Concretely, this means deciding on the layout and order of elements such as tables and charts, as well as using tools and techniques to guide the user, such as clear and descriptive headings, text formatting and colors, carefully chosen chart types, and conditional formatting to highlight specific data visually;" +#: ../../content/applications/productivity/calendar/google.rst:194 +msgid ":guilabel:`Delete from the current Google Calendar account`: delete the events from *Google Calendar*." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:72 -msgid ":ref:`inserting clickable links `, if relevant, to provide access to Odoo menu items, URLs, or other sheets within the same spreadsheet if these should also be accessible from the front end of your dashboard;" +#: ../../content/applications/productivity/calendar/google.rst:196 +#: ../../content/applications/productivity/calendar/outlook.rst:241 +msgid ":guilabel:`Delete from Odoo`: delete the events from the Odoo calendar." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:75 -msgid ":doc:`creating global filters <../../../applications/productivity/spreadsheet/global_filters>` to allow users to tailor the view to their needs;" +#: ../../content/applications/productivity/calendar/google.rst:197 +msgid ":guilabel:`Delete from both`: delete the events from both *Google Calendar* and Odoo calendar." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:77 -msgid ":ref:`converting the spreadsheet into a dashboard `, determining whether to add the dashboard to an existing or new dashboard section, and :ref:`managing access rights to the dashboard `." +#: ../../content/applications/productivity/calendar/google.rst:199 +#: ../../content/applications/productivity/calendar/outlook.rst:245 +msgid ":guilabel:`Next Synchronization`:" msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:83 -msgid "Use standard dashboards as inspiration for how to best present and visualize data. For example, for charts, :ref:`open the underlying spreadsheet ` of a standard dashboard, hover over a chart and click the :icon:`fa-bars` :guilabel:`(menu)` icon, then :icon:`fa-pencil-square-o` :guilabel:`Edit` to see the chart properties on the right side of the screen." +#: ../../content/applications/productivity/calendar/google.rst:201 +msgid ":guilabel:`Synchronize only new events`: sync new events on *Google Calendar* and/or Odoo calendar." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:89 -msgid "The possibility to link to other sheets within the same spreadsheet allows the creation of a multi-page dashboard, with users able to navigate between pages thanks to clickable links. Global filters apply across all pages of a dashboard." +#: ../../content/applications/productivity/calendar/google.rst:203 +msgid ":guilabel:`Synchronize all existing events`: sync all events on *Google Calendar* and/or Odoo calendar." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:94 -msgid "`Odoo Tutorial: Dashboard from scratch `_" +#: ../../content/applications/productivity/calendar/google.rst:206 +#: ../../content/applications/productivity/calendar/outlook.rst:252 +msgid "Click :guilabel:`Confirm` after making the selection to modify the user's events and the calendar synchronization." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:100 -msgid "Customize a dashboard" +#: ../../content/applications/productivity/calendar/google.rst:210 +msgid "Google OAuth FAQ" msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:102 -msgid "Dashboards are customized by editing the dashboard's underlying spreadsheet." +#: ../../content/applications/productivity/calendar/google.rst:212 +msgid "At times there can be configuration errors that occur, and troubleshooting is needed to resolve the issue. Below are the most common errors that may occur when configuring the *Google Calendar* for use with Odoo." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:105 -msgid "When customizing a :ref:`standard dashboard `, it is highly recommended to :ref:`duplicate the dashboard ` and make any changes on the underlying spreadsheet of the duplicated version. Standard dashboards are reinstalled at each Odoo version upgrade, meaning any customizations on the original version are lost." +#: ../../content/applications/productivity/calendar/google.rst:217 +msgid "Production vs. testing publishing status" msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:114 -msgid "Open the underlying spreadsheet" +#: ../../content/applications/productivity/calendar/google.rst:219 +msgid "Choosing :guilabel:`Production` as the :guilabel:`Publishing Status` (instead of :guilabel:`Testing`) displays the following warning message:" msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:116 -msgid "To open a dashboard's underlying spreadsheet:" +#: ../../content/applications/productivity/calendar/google.rst:222 +msgid "`OAuth is limited to 100 sensitive scope logins until the OAuth consent screen is verified. This may require a verification process that can take several days.`" msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:119 -msgid "Open the relevant dashboard section, then, on the line of the relevant dashboard, click :icon:`fa-pencil` :guilabel:`Edit`." +#: ../../content/applications/productivity/calendar/google.rst:225 +msgid "To correct this warning, navigate to the `Google API Platform `_. If the :guilabel:`Publishing Status` is :guilabel:`In Production`, click :guilabel:`Back to Testing` to correct the issue." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:123 -msgid "Users who do not have the appropriate :ref:`access rights ` to customize a dashboard can still access a read-only version of the dashboard's underlying spreadsheet." +#: ../../content/applications/productivity/calendar/google.rst:230 +msgid "No test users added" msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:126 -msgid "To temporarily unpublish a dashboard while you make changes, disable :guilabel:`Is Published` *before* editing the dashboard, making note to republish it when the customization has been finalized." +#: ../../content/applications/productivity/calendar/google.rst:232 +msgid "If no test users are added to the :guilabel:`OAuth consent screen`, then an :guilabel:`Error 403: access_denied` populates." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:129 -msgid "With :ref:`developer mode ` activated, click on the :icon:`fa-pencil` :guilabel:`(Edit)` icon beside the name of a dashboard in the left panel to open its underlying spreadsheet." +#: ../../content/applications/productivity/calendar/google.rst:-1 +msgid "403 Access Denied Error." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:133 -msgid "The spreadsheet that opens typically consists of at least two sheets:" +#: ../../content/applications/productivity/calendar/google.rst:238 +msgid "To correct this error, return to the :guilabel:`OAuth consent screen`, under :guilabel:`APIs & Services`, and add test users to the app. Add the email to be configured in Odoo." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:135 -msgid "**The first sheet** always serves as the front end of your dashboard, and contains the tables and charts used to structure and visualize the data." +#: ../../content/applications/productivity/calendar/google.rst:242 +msgid "Application Type" msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:138 -msgid "**The second and any subsequent sheets** typically contain data used for the calculation of key metrics shown on the first sheet." +#: ../../content/applications/productivity/calendar/google.rst:244 +msgid "When creating the credentials (OAuth *Client ID* and *Client Secret*), if :guilabel:`Desktop App` is selected for the :guilabel:`Application Type`, an :guilabel:`Authorization Error` appears (:guilabel:`Error 400:redirect_uri_mismatch`)." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:142 -msgid "The :ref:`data sources ` that maintain the connection between the spreadsheet and the relevant models in your database can be viewed by clicking :menuselection:`Data` on the spreadsheet's menu bar. These data sources are identified by their respective :icon:`oi-view-pivot` :guilabel:`(pivot table)`, :icon:`oi-view-list` :guilabel:`(list)` or :icon:`fa-bar-chart` :guilabel:`(chart)` icon, followed by their ID and name, e.g., :icon:`oi-view-pivot` *(#1) Sales Analysis by Product*." +#: ../../content/applications/productivity/calendar/google.rst:-1 +msgid "Error 400 Redirect URI Mismatch." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:149 -msgid "For :ref:`standard dashboards `, while the data sources are still active and visible in the :menuselection:`Data` menu, the corresponding lists and pivot tables have been removed from the spreadsheet for better performance and a neater appearance." +#: ../../content/applications/productivity/calendar/google.rst:251 +msgid "To correct this error, delete the existing credentials, and create new credentials, by selecting :guilabel:`Web Application` for the :guilabel:`Application Type`." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:156 -msgid "Duplicate a dashboard" +#: ../../content/applications/productivity/calendar/google.rst:254 +msgid "Then, under :guilabel:`Authorized redirect URIs`, click :guilabel:`ADD URI`, and type: `https://yourdbname.odoo.com/google_account/authentication` in the field, being sure to replace *yourdbname* in the URL with the **real** Odoo database name." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:158 -msgid "To duplicate a dashboard:" +#: ../../content/applications/productivity/calendar/google.rst:259 +msgid "Ensure that the domain (used in the URI: `https://yourdbname.odoo.com/google_account/authentication`) is the exact same domain as configured in the `web.base.url` system parameter." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:161 -msgid "Open the relevant dashboard section, then, on the line of the dashboard you want to duplicate, click :icon:`fa-pencil` :guilabel:`Edit`." +#: ../../content/applications/productivity/calendar/google.rst:263 +msgid "Access the `web.base.url` by activating :ref:`developer mode `, and navigating to :menuselection:`Settings app --> Technical header menu --> Parameters section --> System Parameters`." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:163 -msgid "In the spreadsheet that opens, click :menuselection:`File -->` :icon:`os-copy-file` :menuselection:`Make a copy`." +#: ../../content/applications/productivity/calendar/outlook.rst:3 +msgid "Outlook Calendar synchronization" msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:165 -msgid "Rename the duplicated dashboard by clicking the name of the spreadsheet at the top left of the screen and editing as needed." +#: ../../content/applications/productivity/calendar/outlook.rst:5 +msgid "Synchronizing a user's *Outlook Calendar* with Odoo is useful for keeping track of tasks and appointments across all related applications." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:169 -msgid "To return to the overview of the dashboard section, click the name of the original dashboard at the top left of the page, then the name of the dashboard section." +#: ../../content/applications/productivity/calendar/outlook.rst:9 +msgid ":doc:`../../general/users/azure`" msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:171 -msgid "After duplicating a dashboard, delete the original dashboard by clicking the :icon:`fa-trash` :guilabel:`(trash)` icon or rename it by clicking on the name then editing it." +#: ../../content/applications/productivity/calendar/outlook.rst:10 +msgid ":doc:`../../general/email_communication/azure_oauth`" msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:177 -msgid "Add, edit, or remove dashboard elements" +#: ../../content/applications/productivity/calendar/outlook.rst:13 +msgid "Microsoft Azure setup" msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:179 -msgid "Dashboards can be customized in various ways, such as by:" +#: ../../content/applications/productivity/calendar/outlook.rst:15 +msgid "To sync the *Outlook Calendar* with Odoo's *Calendar*, a Microsoft *Azure* account is required. Creating an account is free for users who have never tried, or paid for, *Azure*. For more information, view the account options on the `Azure website `_." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:181 -msgid "adding new tables and charts based on previously inserted or :ref:`newly inserted Odoo data `. This requires a similar approach to :ref:`building a dashboard from scratch `;" +#: ../../content/applications/productivity/calendar/outlook.rst:20 +msgid "Refer to `Microsoft's documentation `_ on how to set up a Microsoft *Entra ID* (formally called Microsoft *Azure Active Directory (Azure AD)*). This is an API console to manage and register Microsoft applications." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:184 -msgid ":doc:`adding new global filters <../../../applications/productivity/spreadsheet/global_filters>` or editing or deleting existing ones;" +#: ../../content/applications/productivity/calendar/outlook.rst:25 +msgid "Existing Microsoft *Entra ID* users should log in at the `Microsoft Azure developer portal `_. Next, select :guilabel:`View` under the section labeled :guilabel:`Manage Microsoft Entra ID`." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:186 -msgid ":ref:`adding or editing clickable links ` to Odoo menus, URLs, or to other sheets within the same spreadsheet." +#: ../../content/applications/productivity/calendar/outlook.rst:30 +msgid "Register application" msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:190 -msgid "Dashboard elements that are no longer needed can be deleted from the spreadsheet. If, after deleting a dashboard element, a :ref:`data source ` is no longer being used in the spreadsheet, this is indicated by a :icon:`fa-exclamation-triangle` :guilabel:`(warning)` icon in the :guilabel:`Data` menu." +#: ../../content/applications/productivity/calendar/outlook.rst:32 +msgid "After logging in with the Microsoft *Entra ID*, `register an application `_." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:0 -msgid "Warning to indicate data source no longer used in spreadsheet" +#: ../../content/applications/productivity/calendar/outlook.rst:35 +msgid "To create an application, click :guilabel:`+ Add` in the top menu. From the resulting drop-down menu, select :guilabel:`App Registration`." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:201 -msgid "Insert new Odoo data" +#: ../../content/applications/productivity/calendar/outlook.rst:-1 +msgid "Microsoft Azure management page with + Add and App Registration menu highlighted." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:203 -msgid "Inserting new Odoo data into a dashboard's underlying spreadsheet requires starting from the relevant Odoo view. To do so:" +#: ../../content/applications/productivity/calendar/outlook.rst:42 +msgid "Enter a unique :guilabel:`Name` for the connected application." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:206 -msgid "With the relevant list view, pivot view or graph view open in your database, proceed as follows:" +#: ../../content/applications/productivity/calendar/outlook.rst:44 +msgid "Choosing the appropriate :guilabel:`Supported account type` is essential, or else the connected application will not work. Users who wish to connect their *Outlook Calendar* to Odoo should select the :guilabel:`Accounts in any organizational directory (Any Microsoft Entra ID directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)` option for :guilabel:`Supported account types`." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:208 -msgid "For a list view, click the :icon:`fa-cog` :guilabel:`(Actions)` icon beside the name of the view, then :guilabel:`Spreadsheet -->` :icon:`oi-view-list` :menuselection:`Insert list in spreadsheet`." +#: ../../content/applications/productivity/calendar/outlook.rst:50 +msgid "When configuring the :guilabel:`Redirect URI`, choose the :guilabel:`Web` option from the first drop-down menu. Then, enter the Odoo database URI (URL) followed by `/microsoft_account/authentication`." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:211 -msgid "For a pivot or graph view, click :guilabel:`Insert in Spreadsheet` at the top left of the view." +#: ../../content/applications/productivity/calendar/outlook.rst:55 +msgid "Enter `https://yourdbname.odoo.com/microsoft_account/authentication` for the :guilabel:`Redirect URI`. Replace `yourdbname.odoo.com` with the :abbr:`URL (Uniform Resource Locator)`." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:213 -msgid "In the window that opens, edit the name if needed. For a list, edit the number of records, i.e., rows to be inserted, if needed." +#: ../../content/applications/productivity/calendar/outlook.rst:59 +msgid "Ensure the database's :abbr:`URL (Uniform Resource Locator)` (domain) used in the URI is the exact same domain as the one configured on the `web.base.url` system parameter." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:215 -msgid "Click the :guilabel:`Dashboards` tab then select in which dashboard the list, pivot table, or chart should be inserted." +#: ../../content/applications/productivity/calendar/outlook.rst:62 +msgid "Access the `web.base.url` by activating :ref:`developer mode `, and navigating to :menuselection:`Settings app --> Technical header menu --> Parameters section --> System Parameters`. Then, select it from the :guilabel:`Key` list on the :guilabel:`System Parameters` page." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:218 -msgid "A list or pivot table is inserted into a new sheet in the dashboard's underlying spreadsheet; a chart is inserted on the first sheet of the spreadsheet." +#: ../../content/applications/productivity/calendar/outlook.rst:-1 +msgid "The \"Supported account type\" and \"Redirect URI\" settings in the Microsoft Entra ID portal." msgstr "" -#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:222 -msgid ":doc:`Inserting Odoo data into a spreadsheet <../../../applications/productivity/spreadsheet/insert>`" +#: ../../content/applications/productivity/calendar/outlook.rst:71 +msgid "For more information on the restrictions and limitations of URIs, check Microsoft's `Redirect URI (reply URL) restrictions and limitations `_ page." msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:3 -msgid "My Dashboard" +#: ../../content/applications/productivity/calendar/outlook.rst:75 +msgid "Finally, on the application registration page, click :guilabel:`Register` button to complete the application registration. The :guilabel:`Application (client) ID` is produced. Copy this value, as it is needed later, in the :ref:`outlook_calendar/odoo_setup`." msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:5 -msgid "**My Dashboard** allows you to centralize the :doc:`Odoo views <../../studio/views>` you consult most regularly, making it possible to see critical tasks at a glance without having to first navigate through multiple apps. Unlike other Odoo dashboards, My Dashboard is not based on **Odoo Spreadsheet**." +#: ../../content/applications/productivity/calendar/outlook.rst:-1 +msgid "Application client ID highlighted in the essentials section of the newly created\n" +"application." msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:10 -msgid "Views inserted in My Dashboard are fully dynamic and retain many features of the source view, e.g., sorting of lists, changing the measures used for a pivot table or cohort view, changing the chart type, or clicking on a value or data point to view the underlying record(s)." +#: ../../content/applications/productivity/calendar/outlook.rst:85 +msgid "Create client secret" msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:15 -msgid "It is not possible to change the domain, i.e., the filtering or grouping, of a view that has been added to My Dashboard. To change the domain, make the necessary changes in the original view, then re-insert the view in My Dashboard and delete the originally inserted view." +#: ../../content/applications/productivity/calendar/outlook.rst:87 +msgid "The second credential needed to complete the synchronization of the Microsoft *Outlook Calendar* is the *Client Secret*. The user **must** add a client secret, as this allows Odoo to authenticate itself, requiring no interaction from the user's side. *Certificates* are optional." msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:20 -msgid "Add views" +#: ../../content/applications/productivity/calendar/outlook.rst:91 +msgid "To add a client secret, click :menuselection:`Certificates & secrets` in the left menu. Then click :guilabel:`+ New client secret` to create the client secret." msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:22 -msgid "Most Odoo views can be added to My Dashboard, including:" +#: ../../content/applications/productivity/calendar/outlook.rst:-1 +msgid "New client secret page with certificates and secrets menu and new client secret option\n" +"highlighted." msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:24 -msgid ":ref:`multiple record views ` like list, kanban, and map" +#: ../../content/applications/productivity/calendar/outlook.rst:99 +msgid "Next, type a :guilabel:`Description`, and select when the client secret :guilabel:`Expires`. Available options include: :guilabel:`90 days (3 months)`, :guilabel:`365 days (12 months)`, :guilabel:`545 days (18 months)`, :guilabel:`730 days (24 months)` or :guilabel:`Custom`. The :guilabel:`Custom` option allows the administrator to set a :guilabel:`Start` and :guilabel:`End` date." msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:25 -msgid ":ref:`timeline views ` like calendar, cohort, and gantt" +#: ../../content/applications/productivity/calendar/outlook.rst:105 +msgid "Finally, click :guilabel:`Add` to :guilabel:`Add a client secret`." msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:26 -msgid ":ref:`reporting views ` like pivot and graph" +#: ../../content/applications/productivity/calendar/outlook.rst:108 +msgid "Since resetting the synchronization can be tricky, Odoo recommends setting the maximum allowed expiration date for the client secret (24 months or custom), so there is no need to re-synchronize soon." msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:28 -msgid "To add a view to My Dashboard:" +#: ../../content/applications/productivity/calendar/outlook.rst:112 +msgid "Copy the :guilabel:`Value` for use in the next section." msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:30 -msgid "With the relevant view open in your database, click the :icon:`fa-cog` :guilabel:`(Actions)` icon beside the name of the view, then :menuselection:`Dashboard`." +#: ../../content/applications/productivity/calendar/outlook.rst:115 +msgid "Client secret values cannot be viewed, except immediately after creation. Be sure to save the secret when created *before* leaving the page." msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:32 -msgid "Under :guilabel:`Add to my Dashboard`, rename the view if desired, then click :guilabel:`Add`." +#: ../../content/applications/productivity/calendar/outlook.rst:121 +msgid "Configuration in Odoo" msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:0 -msgid "Adding a view to My Dashboard" +#: ../../content/applications/productivity/calendar/outlook.rst:123 +msgid "In the Odoo database, go to :menuselection:`Calendar app --> Configuration --> Settings`, and tick the checkbox beside the :guilabel:`Outlook Calendar` setting. Remember to click :guilabel:`Save` to implement the changes." msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:38 -msgid "Refresh the page." +#: ../../content/applications/productivity/calendar/outlook.rst:-1 +msgid "The \"Outlook Calendar\" setting activated in Odoo." msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:40 -msgid "The added view is now visible as a widget in My Dashboard in the Dashboards app." +#: ../../content/applications/productivity/calendar/outlook.rst:130 +msgid "From the Microsoft *Azure* portal, under the :guilabel:`Overview` section of the application, copy the :guilabel:`Application (Client) ID`, if it has not already been copied, and paste it into the :guilabel:`Client ID` field in Odoo." msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:43 -msgid "If added views are not showing in My Dashboard, refresh the browser page." +#: ../../content/applications/productivity/calendar/outlook.rst:-1 +msgid "The \"Client ID\" in the Microsoft Azure portal." msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:46 -msgid "Customize layout" +#: ../../content/applications/productivity/calendar/outlook.rst:138 +msgid "Copy the previously-acquired :guilabel:`Value` (Client Secret Value), and paste it into the :guilabel:`Client Secret` field in Odoo." msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:48 -msgid "When at least one view has been added to My Dashboard, the page can be customized as follows:" +#: ../../content/applications/productivity/calendar/outlook.rst:-1 +msgid "The \"Client Secret\" token to be copied from Microsoft to Odoo." msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:50 -msgid "**Change the layout of the page**: Click :guilabel:`Change Layout` in the top-right corner and select the desired layout." +#: ../../content/applications/productivity/calendar/outlook.rst:145 +msgid "Finally, on the Odoo :menuselection:`Settings --> General Settings` page, click :guilabel:`Save`." msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:54 -msgid "For multi-column layouts, the column limits are identified by :icon:`fa-caret-left` :guilabel:`(left caret)` and :icon:`fa-caret-right` :guilabel:`(right caret)` icons at the bottom of the page. If needed, scroll to the bottom of the page to see the column limits." +#: ../../content/applications/productivity/calendar/outlook.rst:150 +msgid "Sync with Outlook" msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:0 -msgid "Column limits visible at bottom of page" +#: ../../content/applications/productivity/calendar/outlook.rst:154 +msgid "Odoo highly recommends testing the Outlook calendar synchronization on a test database and a test email address (that is not used for any other purpose) before attempting to sync the desired Outlook Calendar with the user's production database." msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:61 -msgid "**Collapse and expand widgets**: By default, an inserted widget is shown fully expanded. To collapse, or minimize, a widget, and show only the title, click the :icon:`fa-window-minimize` :guilabel:`(minimize)` icon at the top right of the widget. To expand a widget, click the :icon:`fa-window-maximize` :guilabel:`(maximize)` icon." +#: ../../content/applications/productivity/calendar/outlook.rst:158 +msgid "If the user has any past, present, or future events on their Odoo calendar before syncing their Outlook calendar, Outlook will treat the events pulled from Odoo's calendar during the sync as new events, causing an email notification to be sent from Outlook to all the event attendees." msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:65 -msgid "**Move widgets**: Drag and drop widgets to the desired location in the same column or a different column." +#: ../../content/applications/productivity/calendar/outlook.rst:162 +msgid "To avoid unwanted emails being sent to all past, present, and future event attendees, the user must add the events from the Odoo calendar to the Outlook calendar before the first ever sync, delete the events from Odoo, and then start the sync." msgstr "" -#: ../../content/applications/productivity/dashboards/my_dashboard.rst:67 -msgid "**Remove widgets**: To remove a widget from the page, click the :icon:`fa-times` :guilabel:`(remove)` icon." +#: ../../content/applications/productivity/calendar/outlook.rst:166 +msgid "Even after synchronizing the Odoo Calendar with the Outlook calendar, Outlook will still send a notification to all event participants every time an event is edited (created, deleted, unarchived, or event date/time changed), with no exceptions. This is a limitation that cannot be fixed from Odoo's side." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:3 -msgid "Data Cleaning" +#: ../../content/applications/productivity/calendar/outlook.rst:171 +msgid "In summary, once a user synchronizes their Outlook calendar with the Odoo calendar:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:5 -msgid "The Odoo **Data Cleaning** app maintains data integrity and consistency with the following features:" +#: ../../content/applications/productivity/calendar/outlook.rst:173 +msgid "Creating an event in Odoo causes Outlook to send an invitation to all event attendees." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:7 -msgid ":ref:`Deduplicates `: merges or removes duplicate entries to ensure data is unique." +#: ../../content/applications/productivity/calendar/outlook.rst:174 +msgid "Deleting an event in Odoo causes Outlook to send a cancellation to all event attendees." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:9 -msgid ":ref:`Recycles `: identifies outdated records to either archive or delete them." +#: ../../content/applications/productivity/calendar/outlook.rst:175 +msgid "Unarchiving an event in Odoo causes Outlook to send an invitation to all event attendees." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:11 -msgid ":ref:`Formats `: standardizes text data by finding and replacing it according to specified needs." +#: ../../content/applications/productivity/calendar/outlook.rst:176 +msgid "Archiving an event in Odoo causes Outlook to send a cancellation to all event attendees." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:14 -msgid "Customizable rules ensure text data stays up-to-date, streamlined, consistently formatted, and aligned with company-specific formatting requirements." +#: ../../content/applications/productivity/calendar/outlook.rst:177 +msgid "Adding a contact to an event causes Outlook to send an invitation to all event attendees." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:20 -msgid "Install modules" +#: ../../content/applications/productivity/calendar/outlook.rst:178 +msgid "Removing a contact from an event causes Outlook to send a cancellation to all event attendees." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:22 -msgid "The **Data Cleaning** application consists of several modules. :ref:`Install ` the following to access all available features:" +#: ../../content/applications/productivity/calendar/outlook.rst:181 +msgid "Sync Odoo Calendar and Outlook" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:0 -#: ../../content/applications/productivity/whatsapp.rst:275 -#: ../../content/applications/productivity/whatsapp.rst:680 -msgid "Name" +#: ../../content/applications/productivity/calendar/outlook.rst:183 +msgid "In the Odoo database, open to the *Calendar* module, and click the :guilabel:`Outlook` sync button on the right-side of the page, beneath the monthly calendar." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:0 -msgid "`Technical name`" +#: ../../content/applications/productivity/calendar/outlook.rst:-1 +msgid "The \"Outlook\" sync button in Odoo Calendar." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:31 -msgid "Description" +#: ../../content/applications/productivity/calendar/outlook.rst:190 +msgid "The synchronization is a two-way process, meaning that events are reconciled in both accounts (*Outlook* and Odoo). The page redirects to a Microsoft login page, and the user is asked to log in to their account, if they are not already. Finally, grant the required permissions by clicking :guilabel:`Accept`." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:0 -msgid ":guilabel:`Data Recycle`" +#: ../../content/applications/productivity/calendar/outlook.rst:-1 +msgid "Authentication process on Microsoft Outlook OAuth page." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:0 -msgid "`data_recycle`" +#: ../../content/applications/productivity/calendar/outlook.rst:200 +msgid "All users that want to use the synchronization simply need to :ref:`sync their calendar with Outlook `. The configuration of Microsoft's *Azure* account is only done once, as Microsoft *Entra ID* tenants' client IDs and client secrets are unique, and help the user manage a specific instance of Microsoft cloud services for internal and external users." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:34 -msgid "Base module to enable the recycle feature, available on :ref:`Odoo Community edition `." +#: ../../content/applications/productivity/calendar/outlook.rst:206 +msgid ":doc:`../../general/integrations/mail_plugins/outlook`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:0 -msgid ":guilabel:`Data Cleaning`" +#: ../../content/applications/productivity/calendar/outlook.rst:207 +msgid ":doc:`google`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:0 -msgid "`data_cleaning`" +#: ../../content/applications/productivity/calendar/outlook.rst:212 +msgid "There may be times when the *Microsoft Outlook Calendar* account does not sync correctly with Odoo. Sync issues can be seen in the database logs." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:38 -msgid "Enables field cleaning feature to format text data across multiple records, available **only** on :ref:`Odoo Enterprise edition `." +#: ../../content/applications/productivity/calendar/outlook.rst:215 +msgid "In these cases, the account needs troubleshooting. A reset can be performed using the :guilabel:`Reset Account` button, which can be accessed by navigating to :menuselection:`Settings app --> Manage Users`. Then, select the user to modify the calendar, and click on the :guilabel:`Calendar` tab." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:0 -msgid ":guilabel:`Data Cleaning (merge)`" +#: ../../content/applications/productivity/calendar/outlook.rst:229 +msgid "The following reset options are available for troubleshooting *Microsoft Outlook Calendar* sync with Odoo:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:0 -msgid "`data_merge`" +#: ../../content/applications/productivity/calendar/outlook.rst:-1 +msgid "Outlook calendar reset options in Odoo." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:42 -msgid "Enables the deduplication feature to find similar (or duplicate) records, and merge them, available **only** on :ref:`Odoo Enterprise edition `." +#: ../../content/applications/productivity/calendar/outlook.rst:239 +msgid ":guilabel:`Delete from the current Microsoft Calendar account`: delete the events from *Microsoft Outlook Calendar*." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:0 -msgid ":guilabel:`CRM Deduplication`" +#: ../../content/applications/productivity/calendar/outlook.rst:242 +msgid ":guilabel:`Delete from both`: delete the events from both *Microsoft Outlook Calendar* and Odoo calendar." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:0 -msgid "`data_merge_crm`" +#: ../../content/applications/productivity/calendar/outlook.rst:247 +msgid ":guilabel:`Synchronize only new events`: sync new events on *Microsoft Outlook Calendar* and/or Odoo calendar." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:52 -msgid "Enables the deduplication feature on the **CRM** app, and uses the :doc:`CRM default merging feature <../sales/crm/pipeline/merge_similar>`." +#: ../../content/applications/productivity/calendar/outlook.rst:249 +msgid ":guilabel:`Synchronize all existing events`: sync all events on *Microsoft Outlook Calendar* and/or Odoo calendar." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:0 -msgid ":guilabel:`Helpdesk Merge action`" +#: ../../content/applications/productivity/dashboards.rst:5 +msgid "Dashboards" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:0 -msgid "`data_merge_helpdesk`" +#: ../../content/applications/productivity/dashboards.rst:13 +msgid "**Odoo Dashboards** allows you to consult, interact with, customize, and build interactive dashboards that display real-time data from your Odoo database in an easy-to-understand way. By centralizing data from various Odoo sources in a single location, dashboards provide an overview of key business metrics that can help you monitor business performance and make informed decisions." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:56 -msgid "Enables the merge feature for the **Helpdesk** app." -msgstr "" +#: ../../content/applications/productivity/dashboards.rst:18 +msgid ":doc:`Odoo spreadsheets <../../applications/productivity/spreadsheet>` serve as the foundation for dashboards, with tables and charts used to structure and visualize dynamic Odoo data. :ref:`Data sources ` connect a dashboard's underlying spreadsheet to your database, ensuring the most recent data is retrieved every time the dashboard is opened or refreshed." +msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:0 -msgid ":guilabel:`Project Merge action`" +#: ../../content/applications/productivity/dashboards.rst:24 +msgid "With Odoo Dashboards, users can, depending on their :ref:`access rights `:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:0 -msgid "`data_merge_project`" +#: ../../content/applications/productivity/dashboards.rst:27 +msgid ":ref:`consult and interact with dashboards `, including :ref:`standard, pre-configured dashboards `" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:59 -msgid "Enables the merge feature for the **Projects** app." +#: ../../content/applications/productivity/dashboards.rst:29 +msgid "use :ref:`global filters ` to filter all the data shown on a dashboard" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:0 -msgid ":guilabel:`UTM Deduplication`" +#: ../../content/applications/productivity/dashboards.rst:31 +msgid ":ref:`share a snapshot of a dashboard ` with internal users who do not have the appropriate access rights or with external users" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:0 -msgid "`data_merge_utm`" +#: ../../content/applications/productivity/dashboards.rst:33 +msgid ":doc:`build custom dashboards <../../applications/productivity/dashboards/build_and_customize_dashboards>` using Odoo Spreadsheet" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:62 -msgid "Enables the merge feature for the **UTM Tracker** app." +#: ../../content/applications/productivity/dashboards.rst:36 +msgid ":ref:`customize dashboards ` to modify what data is shown, the layout, or the filters available" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:0 -msgid ":guilabel:`WMS Accounting Merge`" +#: ../../content/applications/productivity/dashboards.rst:38 +msgid ":ref:`manage access rights ` to dashboards" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:0 -msgid "`data_merge_stock_account`" +#: ../../content/applications/productivity/dashboards.rst:39 +msgid "centralize frequently consulted Odoo views in a personal :doc:`../../applications/productivity/dashboards/my_dashboard`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:65 -msgid "Creates a warning in cases of products merging that may affect inventory valuation, if the **Inventory** app is installed." +#: ../../content/applications/productivity/dashboards.rst:43 +msgid "Once a spreadsheet has been converted into a dashboard, it can only be accessed via the Dashboards app." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:71 -msgid "Deduplication" +#: ../../content/applications/productivity/dashboards.rst:45 +msgid "Unlike other Odoo dashboards, :guilabel:`My Dashboard` is not based on Odoo Spreadsheet, but rather on :doc:`Odoo views <../studio/views>`." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:73 -msgid "The *Duplicates* dashboard groups similar records to be :ref:`merged ` by matching conditions within the records set by the :ref:`deduplication rules `." +#: ../../content/applications/productivity/dashboards.rst:51 +msgid "Use dashboards" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:77 -msgid "Navigate to this dashboard by going to :menuselection:`Data Cleaning app --> Deduplication`." +#: ../../content/applications/productivity/dashboards.rst:53 +msgid "When the Dashboards app is opened, the left panel lists all :ref:`standard, pre-configured dashboards ` and :doc:`custom-built dashboards ` to which a user has been :ref:`granted access `, grouped by section." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:-1 -msgid "Deduplication dashboard in the Data Cleaning application." +#: ../../content/applications/productivity/dashboards.rst:58 +msgid "Clicking on a dashboard name opens that dashboard in the main view." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:82 -msgid "The :guilabel:`RULE` sidebar lists each of the active deduplication rules, and displays the total number of duplicates detected beside each rule." +#: ../../content/applications/productivity/dashboards.rst:-1 +msgid "Overview of Leads dashboard" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:85 -msgid "By default, the :guilabel:`All` rule is selected. Records are grouped by their rule, with a :guilabel:`Similarity` rating (out of 100%), with the following columns:" +#: ../../content/applications/productivity/dashboards.rst:64 +msgid "Click the :icon:`fa-angle-double-left` :guilabel:`(double chevron)` icon at the top of the left panel to collapse the left panel, maximizing the space available for dashboards." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:88 -msgid ":guilabel:`Created On`: the date and time the original record was created." +#: ../../content/applications/productivity/dashboards.rst:66 +msgid "Mark a dashboard as a favorite by clicking the :icon:`fa-star` :guilabel:`(Toggle favorite)` icon in the upper-right corner. Favorited dashboards are grouped in a :guilabel:`Favorites` section at the top of the left panel for easy access." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:89 -msgid ":guilabel:`Name`: the name or title of the original record." +#: ../../content/applications/productivity/dashboards.rst:73 +msgid "Filter and sort data" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:90 -msgid ":guilabel:`Field Values`: the original record's values for the fields used to detect duplicates." +#: ../../content/applications/productivity/dashboards.rst:75 +msgid "Filtering and sorting allow you to manage what data is displayed and how it is displayed. This can help tailor the view to answer specific business questions." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:91 -msgid ":guilabel:`Used In`: lists other models referencing the original record." +#: ../../content/applications/productivity/dashboards.rst:78 +msgid ":ref:`Filtering ` limits the data presented in charts and tables, allowing you to focus only on records that meet specific criteria, e.g., viewing sales data only for a specific sales team." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:92 -msgid ":guilabel:`ID`: the original record's unique ID." +#: ../../content/applications/productivity/dashboards.rst:81 +msgid ":ref:`Sorting ` reorders the data presented in table columns, allowing you to see the data from different perspectives, e.g., viewing products by sales revenue from highest to lowest." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:93 -msgid ":guilabel:`Is Master`: the duplicates are merged into the *master* record. There can only be **one** master record in a grouping of similar records." +#: ../../content/applications/productivity/dashboards.rst:88 +msgid "Apply filters" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:96 -msgid "Select a specific rule in the :guilabel:`RULE` sidebar to filter the duplicate records." +#: ../../content/applications/productivity/dashboards.rst:90 +msgid "If :doc:`global filters ` are available for a dashboard, a search bar above the dashboard allows you to filter the entire dashboard for the selected values." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:101 -msgid "Merge duplicate records" +#: ../../content/applications/productivity/dashboards.rst:94 +msgid "Global filters are available for all :ref:`standard dashboards `. Additional :doc:`global filters can be added ` by a user with the appropriate :ref:`access rights `." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:103 -msgid "To merge records, first choose a *master* record within the grouping of similar records. The master record acts as the base, at which any additional information from similar records are merged into." +#: ../../content/applications/productivity/dashboards.rst:98 +msgid "It is also possible to :ref:`search for values ` by typing directly in the search bar; the search categories shown reflect the available global filters." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:106 -msgid "Optionally, no master record can be set, leaving Odoo to choose a record at random to merge into." +#: ../../content/applications/productivity/dashboards.rst:-1 +msgid "Global filters on the Warehouse Daily Operations dashboard" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:108 -msgid "Next, click the :guilabel:`Merge` button at the top of the similar records grouping. Then, click :guilabel:`Ok` to confirm the merge." +#: ../../content/applications/productivity/dashboards.rst:105 +msgid "To apply global filters:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:111 -msgid "Once a record is merged, a message is logged in the chatter of the master record, describing the merge. Certain records, like **Project** tasks, are logged in the chatter with a link to the old record as a convenient reference of the merge." +#: ../../content/applications/productivity/dashboards.rst:107 +msgid "Click within the search bar or click on the :icon:`fa-caret-down` :guilabel:`(dropdown)` icon to access all filters available for that dashboard." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:116 -msgid "Discard groupings by clicking the :guilabel:`DISCARD` button. Upon doing so, the grouping is hidden from the list and archived." +#: ../../content/applications/productivity/dashboards.rst:109 +msgid "For the relevant filter, select a conditional operator from the first dropdown, e.g., :guilabel:`is in`, then select the desired value from the second dropdown." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:119 -msgid "View discarded groupings by selecting the :guilabel:`Discarded` filter from the :ref:`search bar `." +#: ../../content/applications/productivity/dashboards.rst:111 +msgid "Click :guilabel:`Filter`." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:125 -msgid "Deduplication rules" +#: ../../content/applications/productivity/dashboards.rst:113 +msgid "For dashboards with a date filter, this filter can be set via the search bar or via the button with the :icon:`fa-calendar` :guilabel:`(calendar)` icon." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:127 -msgid "The *Deduplication Rules* set the conditions for how records are detected as duplicates." +#: ../../content/applications/productivity/dashboards.rst:-1 +msgid "Filtering a dashboard by date period" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:129 -msgid "These rules can be configured for each model in the database, and with varying levels of specificity. To get started, navigate to :menuselection:`Data Cleaning app --> Configuration --> Deduplication`." +#: ../../content/applications/productivity/dashboards.rst:119 +msgid "The :guilabel:`Custom Range` at the bottom of the period selector shows either a manually entered custom range, if relevant, or the start and end date of the selected period." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:134 -msgid "The deduplication rules run once every day, by default, as part of a scheduled action cron (*Data Merge: Find Duplicate Records*). However, each rule can be :ref:`ran manually ` anytime." +#: ../../content/applications/productivity/dashboards.rst:122 +msgid "To remove a value from a filter, click the :icon:`fa-times` :guilabel:`(remove)` icon beside the name of the value; to empty a filter, click the :icon:`fa-times` :guilabel:`(remove)` icon at the far right of the filter." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:139 -msgid "Modify a deduplication rule" +#: ../../content/applications/productivity/dashboards.rst:129 +msgid "Sort data" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:141 -msgid "Select a default rule to edit, or create a new rule by clicking on the :guilabel:`New` button." +#: ../../content/applications/productivity/dashboards.rst:131 +msgid "Depending on the dashboard and the table in question, it may be possible to sort the data by column, by clicking the column heading. A :icon:`fa-caret-down` :guilabel:`(caret down)` or :icon:`fa-caret-up` :guilabel:`(caret up)` icon beside a column heading indicates that the column has been sorted in descending or ascending order, respectively. If, when hovering over other column headings, a :icon:`fa-sort` :guilabel:`(sort)` icon appears, the column can be sorted." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:143 -msgid "First, choose a :guilabel:`Model` for this rule to target. Selecting a model updates the rule title to the chosen model." +#: ../../content/applications/productivity/dashboards.rst:138 +msgid "If conditional formatting has been applied to a table, the original formatting is maintained when the table is resorted by a different column." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:146 -msgid "Optionally, configure a :guilabel:`Domain` to specify the records eligible for this rule. The number of eligible records is shown in the :icon:`oi-arrow-right` :guilabel:`# record(s)` link." +#: ../../content/applications/productivity/dashboards.rst:142 +msgid "In this example, the table was originally sorted by revenue per CRM tag, in decreasing order. Conditional formatting was defined to visualize the proportional revenue using data bars. When the table is resorted by number of leads in descending order, the data bars still reflect the revenue per tag in decreasing order." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:149 -msgid "Depending on the selected :guilabel:`Model`, the :guilabel:`Duplicate Removal` field appears. Choose whether to :guilabel:`Archive` or :guilabel:`Delete` merged records." +#: ../../content/applications/productivity/dashboards.rst:0 +msgid "Sorting a table with conditional formatting using data bars" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:152 -msgid "Next, select a :guilabel:`Merge Mode`:" +#: ../../content/applications/productivity/dashboards.rst:154 +msgid "Access underlying records" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:154 -msgid ":guilabel:`Manual`: requires each duplicate grouping to be manually merged, also enables the :guilabel:`Notify Users` field." +#: ../../content/applications/productivity/dashboards.rst:156 +msgid "While dashboards provide a user-friendly summary of key data, drilling down to the underlying data allows a more detailed analysis. This can be useful for investigating anomalies or providing the full context needed for decision-making." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:156 -msgid ":guilabel:`Automatic`: automatically merges duplicate groupings, without notifying users, based on the records with a similarity percentage above the threshold set in the :guilabel:`Similarity Threshold` field." +#: ../../content/applications/productivity/dashboards.rst:160 +msgid "**Open underlying database records**: To access database records referenced by a dashboard, click on the relevant value in a table or on a data point on a chart. Doing so opens either the individual record, or, in the case of charts or tables displaying consolidated data, a list of the referenced records." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:160 -msgid "Enable the :guilabel:`Active` toggle to start capturing duplicates with this rule as soon as it is saved." +#: ../../content/applications/productivity/dashboards.rst:165 +msgid "**Open underlying database views**: To access the view from which the data for a specific chart or table is retrieved, click on the title of the chart or table. Doing so opens the corresponding list view, pivot view or graph view." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:163 -msgid "Lastly, create at least one deduplication rule in the :guilabel:`Deduplication Rules` field, by clicking :guilabel:`Add a line`, under the :guilabel:`Unique ID Field` column." +#: ../../content/applications/productivity/dashboards.rst:170 +msgid "To return to a dashboard after drilling down to underlying records or views, click the :guilabel:`Dashboards` breadcrumb in the upper-left corner." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:166 -msgid "Select a field in the model from the :guilabel:`Unique ID Field` drop-down menu. This field is referenced for similar records." +#: ../../content/applications/productivity/dashboards.rst:176 +msgid "Expand, copy or download charts" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:168 -msgid "Select a matching condition in the :guilabel:`Match If` field to apply the deduplication rule, depending on the text in the :guilabel:`Unique ID Field`:" +#: ../../content/applications/productivity/dashboards.rst:178 +msgid "To see charts in full screen, hover over a chart and click the :icon:`fa-expand` icon." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:171 -msgid ":guilabel:`Exact Match`: the characters in the text match exactly." +#: ../../content/applications/productivity/dashboards.rst:180 +msgid "It is also possible to copy or download a chart by hovering over the chart and clicking the :icon:`fa-ellipsis-v` (vertical ellipsis) icon, then clicking :icon:`os-copy-as-image` :guilabel:`Copy as image` or :icon:`fa-download` :guilabel:`Download` as relevant." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:172 -msgid ":guilabel:`Case/Accent Insensitive Match`: the characters in the text match, regardless of casing and language-specific accent differences." +#: ../../content/applications/productivity/dashboards.rst:185 +msgid ":ref:`Expanding a time-series chart to full screen ` allows a more detailed analysis." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:176 -msgid "At least one :guilabel:`Deduplication Rules` must be set for the rule to capture duplicates." +#: ../../content/applications/productivity/dashboards.rst:191 +msgid "Analyze time-series charts" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:179 -msgid "A few more fields are available for an advanced configuration." +#: ../../content/applications/productivity/dashboards.rst:193 +msgid "Time-series charts, i.e., charts showing data over time, can be analyzed more closely by:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:181 -msgid "If on a multi-company database, the :guilabel:`Cross-Company` field is available. When enabled, duplicates across different companies are suggested." +#: ../../content/applications/productivity/dashboards.rst:195 +msgid ":ref:`adjusting the granularity `;" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:184 -msgid "Activate :ref:`developer-mode` to display the :guilabel:`Suggestion Threshold` field. Duplicates with a similarity below the threshold set in this field are **not** suggested." +#: ../../content/applications/productivity/dashboards.rst:196 +msgid ":ref:`zooming in ` on a chosen time span." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:187 -msgid "With the rule's configuration complete, either close the rule form, or :ref:`run the rule manually ` to instantly capture duplicate records." +#: ../../content/applications/productivity/dashboards.rst:202 +msgid "Adjust granularity" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:193 -msgid "Manually run a deduplication rule" +#: ../../content/applications/productivity/dashboards.rst:204 +msgid "For many time-series charts it is possible to adjust the granularity of the unit of time on the x-axis." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:195 -msgid "To manually run a specific deduplication rule at any time, navigate to :menuselection:`Data Cleaning app --> Configuration --> Deduplication`, and select the rule to run." +#: ../../content/applications/productivity/dashboards.rst:207 +msgid "To do so, hover over the chart, click the :icon:`fa-caret-down` :guilabel:`(dropdown)` icon, then select the desired granularity." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:198 -msgid "Then, on the rule form, select the :guilabel:`Deduplicate` button on the top-left. Upon doing so, the :icon:`fa-clone` :guilabel:`Duplicates` smart button displays the number of duplicates captured." +#: ../../content/applications/productivity/dashboards.rst:-1 +msgid "Changing time granularity on a chart's y-axis" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:201 -msgid "Click on the :icon:`fa-clone` :guilabel:`Duplicates` smart button to :ref:`manage these records `." +#: ../../content/applications/productivity/dashboards.rst:217 +msgid "Zoom in on a time span and scroll" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:207 -msgid "Recycle records" +#: ../../content/applications/productivity/dashboards.rst:219 +msgid "When a time-series chart is :ref:`expanded to full screen `, a slider below the chart allows you to:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:209 -msgid "Use the *recycle records* feature to rid the database of old and outdated records." +#: ../../content/applications/productivity/dashboards.rst:222 +msgid "zoom in on a specific time span by dragging the ends of the slider to select the desired time span;" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:211 -msgid "The *Field Recycle Records* dashboard displays records that can be archived or deleted, by matching conditions within the records set by the :ref:`recycle record's rules `." +#: ../../content/applications/productivity/dashboards.rst:224 +msgid "when you have zoomed in, to scroll through the chart while maintaining the level of zoom by dragging the slider to the left or right." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:214 -msgid "Navigate to this dashboard by going to :menuselection:`Data Cleaning app --> Recycle Records`." +#: ../../content/applications/productivity/dashboards.rst:227 +msgid "Resize the slider to return to the initial view." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:-1 -msgid "Field Recycle Records dashboard in the Data Cleaning application." +#: ../../content/applications/productivity/dashboards.rst:230 +msgid "In this example from the :guilabel:`Warehouse Daily Operations` dashboard, the chart shows transfers yet to be assigned to a responsible user, by day. The zoom of the chart has been adjusted to show data for five days, and the current position of the slider allows data from the last five days to be shown." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:219 -msgid "The :guilabel:`RECYCLE RULES` sidebar lists each of the active recycle record rules." +#: ../../content/applications/productivity/dashboards.rst:0 +msgid "Zoomed-in chart with slider" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:221 -msgid "By default, the :guilabel:`All` option is selected. Records are displayed with the following columns:" +#: ../../content/applications/productivity/dashboards.rst:241 +msgid "Standard dashboards" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:224 -#: ../../content/applications/productivity/data_cleaning.rst:339 -msgid ":guilabel:`Record ID`: the ID of the original record." +#: ../../content/applications/productivity/dashboards.rst:243 +msgid "Depending on which apps are installed, a series of standard dashboards is available by default." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:225 -#: ../../content/applications/productivity/data_cleaning.rst:340 -msgid ":guilabel:`Record Name`: the name or title of the original record." +#: ../../content/applications/productivity/dashboards.rst:245 +msgid "These pre-configured dashboards have been designed to provide the most relevant insights for the topic in question, and users with the appropriate :ref:`access rights ` can :ref:`consult and interact ` with them. Dashboard-specific :ref:`filters `, available via the search bar, allow the entire dashboard to be filtered for selected values." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:227 -msgid "Select a specific rule in the :guilabel:`RECYCLE RULES` sidebar to filter the records." +#: ../../content/applications/productivity/dashboards.rst:251 +msgid "Standard dashboards can be :ref:`customized ` by a user with the appropriate :ref:`access rights `. For example, dashboard elements like tables and charts, or global filters can be added, edited, or removed." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:229 -msgid "To recycle records, click the :icon:`fa-check` :guilabel:`Validate` button on the row of the record." +#: ../../content/applications/productivity/dashboards.rst:257 +msgid "When customizing a standard dashboard, it is highly recommended to :ref:`duplicate the dashboard ` and make any changes on the duplicated version. Standard dashboards are reinstalled at each Odoo version upgrade, meaning any customizations on the original version are lost." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:231 -msgid "Upon doing so, the record is recycled, depending on how the rule is configured, to be either archived or deleted from the database." +#: ../../content/applications/productivity/dashboards.rst:265 +msgid "Configuration settings" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:235 -msgid "Discard groupings by clicking the :icon:`fa-times` :guilabel:`Discard` button. Upon doing so, the record is hidden from the list, and is not detected by the recycle rule again in the future." +#: ../../content/applications/productivity/dashboards.rst:268 +msgid "Only a user with the appropriate :ref:`access rights ` can configure or modify settings for dashboards and dashboard sections." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:238 -msgid "View discarded records by selecting the :guilabel:`Discarded` filter from the :ref:`search bar ` drop-down menu." +#: ../../content/applications/productivity/dashboards.rst:271 +msgid "To manage dashboards and dashboard sections, go to :menuselection:`Configuration --> Dashboards`. The following actions are possible at the level of dashboard sections:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:244 -msgid "Recycle record rules" +#: ../../content/applications/productivity/dashboards.rst:274 +msgid "**Change the order of dashboard sections** by using the :icon:`oi-draggable` :guilabel:`(drag handle)` icon to move a section to a new position." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:246 -msgid "The *Recycle Records Rules* set the conditions for how records are recycled." +#: ../../content/applications/productivity/dashboards.rst:277 +msgid "**Duplicate a dashboard section** by selecting the relevant section name, clicking the :icon:`fa-cog` :guilabel:`Actions` button, and then :icon:`fa-clone` :guilabel:`Duplicate`. The dashboards within the section are not duplicated." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:248 -msgid "These rules can be configured for each model in the database, and with varying levels of specificity. To get started, navigate to :menuselection:`Data Cleaning app --> Configuration --> Recycle Records`." +#: ../../content/applications/productivity/dashboards.rst:281 +msgid "**Delete a dashboard section** by selecting the relevant section name, clicking the :icon:`fa-cog` :guilabel:`Actions` button then :icon:`fa-trash-o` :guilabel:`Delete`." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:253 -msgid "Recycle rules run once a day, by default, as part of a scheduled action cron (*Data Recycle: Clean Records*). However, each rule can be :ref:`run manually ` anytime." +#: ../../content/applications/productivity/dashboards.rst:285 +msgid "Standard, pre-installed dashboard sections cannot be deleted; custom dashboard sections, on the other hand, can be deleted." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:257 -msgid "By default, no recycle record rules exist. Click the :guilabel:`New` button to create a new rule." +#: ../../content/applications/productivity/dashboards.rst:288 +msgid "**Create a new dashboard section** by clicking :guilabel:`New`, then entering the section name. When creating a new section, it is possible to add a dashboard to the new section directly by clicking :guilabel:`Add a spreadsheet`." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:259 -msgid "On the recycle record rule form, first choose a :guilabel:`Model` for this rule to target. Selecting a model updates the rule title to the chosen model." +#: ../../content/applications/productivity/dashboards.rst:292 +msgid "Clicking on an individual dashboard section lists all dashboards within that section. The following actions are possible:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:262 -msgid "Optionally, configure a :guilabel:`Filter` to specify the records eligible for this rule. The number of eligible records is shown in the :icon:`oi-arrow-right` :guilabel:`# record(s)` link." +#: ../../content/applications/productivity/dashboards.rst:295 +msgid "**Change the order of a dashboard within its section** by using the :icon:`oi-draggable` :guilabel:`(drag handle)` icon to move the dashboard to a new position." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:265 -msgid "Next, configure the field and time range for how the rule detects the records to recycle:" +#: ../../content/applications/productivity/dashboards.rst:298 +msgid "**Edit the name of a dashboard section or dashboard** by clicking the name and modifying it." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:267 -msgid ":guilabel:`Time Field`: select a field from the model to base the time (:dfn:`Delta`)." +#: ../../content/applications/productivity/dashboards.rst:300 +msgid "**Add or remove user groups** to :ref:`control access to the dashboard `." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:268 -msgid ":guilabel:`Delta`: type the length of time, which must be a whole number (e.g. `7`)." +#: ../../content/applications/productivity/dashboards.rst:303 +msgid "**Select one or more companies** if, in a :doc:`multi-company <../../applications/general/companies/multi_company>` database, the dashboard should only be visible to users of a specific company or companies. If this field is left blank, the dashboard is visible to all users with the appropriate access rights, regardless of which company is currently selected in the database." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:269 -msgid ":guilabel:`Delta Unit`: select the unit of time (:guilabel:`Days`, :guilabel:`Weeks`, :guilabel:`Months`, or :guilabel:`Years`)." +#: ../../content/applications/productivity/dashboards.rst:309 +msgid "**Unpublish a dashboard** by disabling the :guilabel:`Is Published` toggle." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:272 -msgid "Then, select a :guilabel:`Recycle Mode`:" +#: ../../content/applications/productivity/dashboards.rst:311 +msgid "**Edit the underlying spreadsheet** of a dashboard by clicking :icon:`fa-pencil` :guilabel:`Edit` on the line of the relevant dashboard." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:274 -msgid ":guilabel:`Manual`: requires each detected record to be manually recycled, and enables the :guilabel:`Notify Users` field." +#: ../../content/applications/productivity/dashboards.rst:315 +msgid "When customizing a standard dashboard, it is highly recommended to :ref:`duplicate the dashboard ` and make any changes on the underlying spreadsheet of the duplicated version. Standard dashboards are reinstalled at each Odoo version upgrade, meaning any customizations on the original version are lost." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:276 -msgid ":guilabel:`Automatic`: automatically merges recycled groupings, without notifying users." +#: ../../content/applications/productivity/dashboards.rst:320 +msgid "**Delete a dashboard** by clicking the :icon:`fa-trash` :guilabel:`(trash)` icon." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:278 -msgid "Lastly, select a :guilabel:`Recycle Action` to either :guilabel:`Archive` or :guilabel:`Delete` records. If :guilabel:`Delete` is selected, choose whether or not to :guilabel:`Include Archived` records in the rule." +#: ../../content/applications/productivity/dashboards.rst:323 +msgid "A standard dashboard that is deleted is reinstalled at the next Odoo version upgrade." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:282 -msgid "With the rule's configuration complete, either close the rule form, or :ref:`run the rule manually ` to instantly capture records to recycle." +#: ../../content/applications/productivity/dashboards.rst:325 +msgid "**Add a new dashboard to the section** by clicking :guilabel:`Add a spreadsheet`. Two options exist:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:286 -msgid "A recycle rule can be configured to delete archived leads and opportunities that were last updated a year ago, and with a specific lost reason, by using the following configuration:" +#: ../../content/applications/productivity/dashboards.rst:328 +msgid "To convert an existing spreadsheet into a dashboard and add it to the new section, select the relevant spreadsheet, then click :guilabel:`Confirm`. Back in the section overview, update the :guilabel:`Group` and :guilabel:`Company` fields if needed." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:289 -msgid ":guilabel:`Model`: :guilabel:`Lead/Opportunity`" +#: ../../content/applications/productivity/dashboards.rst:332 +msgid "To start creating a dashboard from scratch, select :guilabel:`Blank spreadsheet`. To return to the section overview, click the name of the section in the top-left corner, above the menu bar. Update the :guilabel:`Group` and :guilabel:`Company` fields if needed." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:290 -msgid ":guilabel:`Filter`:" +#: ../../content/applications/productivity/dashboards.rst:337 +msgid "After a spreadsheet has been converted into a dashboard, it can only be :ref:`accessed and edited via the Dashboards app `." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:292 -msgid "`Active` `is` `not set`" +#: ../../content/applications/productivity/dashboards.rst:341 +msgid "A newly created dashboard is by default accessible to users belonging to the default internal :ref:`user group `. Edit this if needed via the :guilabel:`Configuration` settings of the relevant dashboard section." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:293 -msgid "`Lost Reason` `is in` `Too expensive`" +#: ../../content/applications/productivity/dashboards.rst:344 +msgid "It is also possible to :ref:`convert a spreadsheet into a dashboard ` and add it to a dashboard section starting from the spreadsheet in the Documents app." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:295 -msgid ":guilabel:`Time Field`: :guilabel:`Last Updated on (Lead/Opportunity)`" +#: ../../content/applications/productivity/dashboards.rst:351 +msgid "Access rights and sharing" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:296 -msgid ":guilabel:`Delta`: `1`" +#: ../../content/applications/productivity/dashboards.rst:356 +msgid "Using dashboards" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:297 -msgid ":guilabel:`Delta Unit`: :guilabel:`Years`" +#: ../../content/applications/productivity/dashboards.rst:358 +msgid "The *right to view and interact with a dashboard* is based on :ref:`user groups `, and is managed in the :ref:`Configuration settings ` of the Dashboards app. Only users who are part of a group that has been granted access to a specific dashboard see that dashboard in the left-hand panel when the Dashboards app is opened. Users with `Dashboard / Admin` access rights can view all dashboards." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:298 -msgid ":guilabel:`Recycle Mode`: :guilabel:`Automatic`" +#: ../../content/applications/productivity/dashboards.rst:365 +msgid "However, the *visibility of dynamic Odoo data within a dashboard* is handled separately. This is based on a user's :ref:`access rights ` to the model from which the data has been retrieved, and takes into account any record rules that may restrict access." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:299 -msgid ":guilabel:`Recycle Action`: :guilabel:`Delete`" +#: ../../content/applications/productivity/dashboards.rst:370 +msgid "User permissions are taken into account when a user opens a dashboard, with the dashboard only being populated with data the user is authorized to see. This means that a user could in theory be able to view a dashboard but, due to a lack of appropriate permissions, not be able to see the Odoo data the dashboard's creator intended to be displayed." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:300 -msgid ":guilabel:`Include Archived`: :icon:`fa-check-square`" +#: ../../content/applications/productivity/dashboards.rst:375 +msgid "Therefore, it is crucial to take user permissions into consideration when granting dashboard access to groups." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:0 -msgid "Recycle records rule form for a lead/opportunity." +#: ../../content/applications/productivity/dashboards.rst:379 +msgid "Granting the user group `Sales / User: Own Documents Only` access to the :guilabel:`Sales` dashboard would serve little purpose. While users belonging to that group would be able to view and interact with the dashboard, they would only see data related to their own sales, rendering the overall dashboard misleading." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:308 -msgid "Manually run a recycle rule" +#: ../../content/applications/productivity/dashboards.rst:387 +msgid "Manage access rights to view dashboards" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:310 -msgid "To manually run a specific recycle rule at any time, navigate to :menuselection:`Data Cleaning app --> Configuration --> Recycle Records`, and select the rule to run." +#: ../../content/applications/productivity/dashboards.rst:389 +msgid "To manage users' rights to view and interact with a dashboard:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:313 -msgid "Then, on the rule form, click the :guilabel:`Run Now` button on the top-left. Upon doing so, the :icon:`fa-bars` :guilabel:`Records` smart button displays the number of records captured." +#: ../../content/applications/productivity/dashboards.rst:391 +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:120 +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:162 +msgid "In the Dashboards app, go to :menuselection:`Configuration --> Dashboards`." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:316 -msgid "Click the :icon:`fa-bars` :guilabel:`Records` smart button to :ref:`manage these records `." +#: ../../content/applications/productivity/dashboards.rst:392 +msgid "From the list of dashboard sections, open the relevant section." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:322 -msgid "Field cleaning" +#: ../../content/applications/productivity/dashboards.rst:393 +msgid "On the line of the relevant dashboard, in the :guilabel:`Group` column:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:324 -msgid "Use the field cleaning feature to maintain consistent formatting of names, phone numbers, IDs and other fields throughout a database." +#: ../../content/applications/productivity/dashboards.rst:395 +msgid "add a user group by clicking the field until a dropdown with user groups appears, then selecting the appropriate user group. In the dropdown, click :guilabel:`Search More` to access the full list of user groups;" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:327 -msgid "The *Field Cleaning Records* dashboard displays formatting changes to data in fields of a record, to follow a convention set by the field cleaning rules." +#: ../../content/applications/productivity/dashboards.rst:398 +msgid "remove a user group by clicking the relevant group name, then clicking :icon:`fa-times` :guilabel:`(Delete)`." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:330 -msgid "Navigate to this dashboard by going to :menuselection:`Data Cleaning app --> Field Cleaning`." +#: ../../content/applications/productivity/dashboards.rst:404 +msgid "Building, customizing and configuring dashboards" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:-1 -msgid "Field Cleaning Records dashboard in the Data Cleaning application." +#: ../../content/applications/productivity/dashboards.rst:406 +msgid "Only users with `Dashboards / Admin` access rights can :ref:`customize dashboards ` or :ref:`configure dashboard settings `. To :ref:`build a dashboard from scratch `, a user must have both `Dashboards / Admin` and, at minimum for the Documents app, `Documents / User` access rights." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:335 -msgid "The :guilabel:`CLEANING RULES` sidebar lists each of the active cleaning rules." +#: ../../content/applications/productivity/dashboards.rst:415 +msgid "Sharing a dashboard snapshot" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:337 -msgid "By default, the :guilabel:`All` rule is selected. Records are listed with the following columns:" +#: ../../content/applications/productivity/dashboards.rst:417 +msgid "To share a frozen version of a dashboard with an internal user who does not have the appropriate access or with an external party, click :icon:`fa-share-alt` :guilabel:`Share` at the top-right of the page then click the :icon:`fa-clone` :guilabel:`(copy)` icon to copy a shareable link to your clipboard." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:341 -msgid ":guilabel:`Field`: the original record's field that contains the value to format." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:3 +msgid "Build and customize dashboards" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:342 -msgid ":guilabel:`Current`: the current value in the field of the original record." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:5 +msgid "In addition to consulting :ref:`standard dashboards `, users with the appropriate :ref:`access rights ` can :ref:`build custom dashboards from scratch ` or :ref:`customize existing dashboards ` to respond to specific business needs." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:343 -msgid ":guilabel:`Suggested`: the suggested formatted value in the field of the original record." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:14 +msgid "Build a dashboard" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:345 -msgid "To clean and format records, click the :icon:`fa-check` :guilabel:`Validate` button on the row of the record." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:16 +msgid "In its most simple terms, building a dashboard involves :doc:`inserting Odoo data into a spreadsheet <../spreadsheet/insert>` then :ref:`converting that spreadsheet into a dashboard `." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:348 -msgid "Upon doing so, the record is formatted and/or cleaned." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:20 +msgid "However, to build a dashboard that delivers relevant and valuable insights, it is important to consider the process in terms of three key stages: :ref:`preparation `, :ref:`data insertion and manipulation `, and :ref:`data visualization `." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:351 -msgid "Discard records by clicking the :icon:`fa-times` :guilabel:`Discard` button. Upon doing so, the record is hidden from the list and will not be detected by the field cleaning rule again in the future." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:29 +msgid "Preparation" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:355 -msgid "View discarded records by selecting the :guilabel:`Discarded` filter from the :ref:`search bar `." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:31 +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:48 +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:63 +msgid "This stage involves:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:361 -msgid "Field cleaning rules" +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:33 +msgid "defining the purpose of the dashboard, in other words, the business questions it needs to answer, and deciding what data would answer those questions;" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:363 -msgid "The *Field Cleaning Rules* set the conditions for fields to be cleaned and/or formatted." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:35 +msgid "determining where to find the relevant Odoo data and deciding which :doc:`type of view <../../studio/views>` (i.e., list, pivot table, or chart) is most suited for the data analysis needed;" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:365 -msgid "These rules can be configured for each model in the database, and with varying levels of specificity. To get started, navigate to :menuselection:`Data Cleaning app --> Configuration --> Field Cleaning`." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:38 +msgid "preparing the Odoo data by refining the views to focus on the most relevant information, e.g., by using :doc:`search filters <../../essentials/search>`, by making only certain list fields visible, or by deciding which dimensions and measures a pivot table should use;" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:370 -msgid "The field cleaning rules run once every day, by default, as part of a scheduled action cron (*Data Cleaning: Clean Records*). However, each rule can be :ref:`ran manually ` anytime." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:41 +msgid "sourcing any other information needed to support the dashboard." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:374 -msgid "By default, a :guilabel:`Contact` rule exists to format and clean up the **Contacts** app records. Select the :guilabel:`Contact` record to make edits, or select the :guilabel:`New` button to create a new rule." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:46 +msgid "Data insertion and manipulation" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:378 -msgid "On the field cleaning rule form, first choose a :guilabel:`Model` for this rule to target. Selecting a model updates the rule title to the chosen model." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:50 +msgid ":doc:`inserting the prepared lists, pivot tables or charts <../spreadsheet/insert>` into the spreadsheet you will use to build your dashboard;" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:381 -msgid "Next, configure at least one rule by clicking :guilabel:`Add a line` in the :guilabel:`Rules` section." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:52 +msgid "manipulating the data, if needed, to be able to draw the necessary insights. This may involve performing calculations or creating custom metrics using :doc:`standard or Odoo-specific functions and formulas <../spreadsheet/work_with_data/functions>`, referencing data from various sources within the spreadsheet, or :doc:`converting static pivot tables to dynamic pivot tables <../spreadsheet/work_with_data/dynamic_pivot_tables>`." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:384 -msgid "Upon doing so, a :guilabel:`Create Rules` popover window appears with the following fields to configure:" +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:61 +msgid "Data visualization" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:387 -msgid "Select a :guilabel:`Field To Clean` from the model to assign to an action." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:65 +msgid "presenting the data on at least the first sheet of your spreadsheet (i.e., the sheet that will serve as the front end of your dashboard) in a clear, visual, and meaningful way so it is easy to interpret. Concretely, this means deciding on the layout and order of elements such as tables and charts, as well as using tools and techniques to guide the user, such as clear and descriptive headings, text formatting and colors, carefully chosen chart types, and conditional formatting to highlight specific data visually;" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:388 -msgid "Choose one of the following :guilabel:`Action` options:" +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:71 +msgid ":ref:`inserting clickable links `, if relevant, to provide access to Odoo menu items, URLs, or other sheets within the same spreadsheet if these should also be accessible from the front end of your dashboard;" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:390 -msgid ":guilabel:`Trim Spaces` reveals the :guilabel:`Trim` field to select the :guilabel:`All Spaces` or :guilabel:`Superfluous Spaces` option. Leading, trailing, and successive spaces are considered superfluous." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:74 +msgid ":doc:`creating global filters <../spreadsheet/work_with_data/global_filters>` to allow users to tailor the view to their needs;" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:395 -msgid "The contact name `Dr. John Doe` can be formatted with the following :guilabel:`Trim` options:" +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:76 +msgid ":ref:`converting the spreadsheet into a dashboard `, determining whether to add the dashboard to an existing or new dashboard section, and :ref:`managing access rights to the dashboard `." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:398 -msgid ":guilabel:`All Spaces`: `DR.JohnDoe`" +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:82 +msgid "Use standard dashboards as inspiration for how to best present and visualize data. For example, for charts, :ref:`open the underlying spreadsheet ` of a standard dashboard, hover over a chart and click the :icon:`fa-bars` :guilabel:`(menu)` icon, then :icon:`fa-pencil-square-o` :guilabel:`Edit` to see the chart properties on the right side of the screen." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:399 -msgid ":guilabel:`Superfluous Spaces`: `DR. John Doe`" +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:88 +msgid "The possibility to link to other sheets within the same spreadsheet allows the creation of a multi-page dashboard, with users able to navigate between pages thanks to clickable links. Global filters apply across all pages of a dashboard." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:401 -msgid ":guilabel:`Set Type Case` reveals the :guilabel:`Case` field to select either :guilabel:`First Letters to Uppercase`, :guilabel:`All Uppercase`, or :guilabel:`All Lowercase`." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:93 +msgid "`Odoo Tutorial: Dashboard from scratch `_" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:405 -msgid "The lead/opportunity title `lumber inc, Lorraine douglas` can be formatted with the following :guilabel:`Case` options:" +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:99 +msgid "Customize a dashboard" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:408 -msgid ":guilabel:`First Letters to Uppercase`: `Lumber Inc, Lorraine Douglas`" +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:101 +msgid "A dashboard can be customized by :ref:`opening its underlying spreadsheet `, i.e., the Odoo spreadsheet from which the dashboard has been created, and :ref:`making any desired changes `." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:409 -msgid ":guilabel:`All Uppercase`: `LUMBER INC, LORRAINE DOUGLAS`" +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:109 +msgid "Open the underlying spreadsheet" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:410 -msgid ":guilabel:`All Lowercase`: `lumber inc, lorraine douglas`" +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:112 +msgid "When customizing a :ref:`standard dashboard `, it is highly recommended to :ref:`duplicate the dashboard ` and make any changes on the underlying spreadsheet of the duplicated version. Standard dashboards are reinstalled at each Odoo version upgrade, meaning any customizations on the original version are lost." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:412 -msgid ":guilabel:`Format Phone` converts the phone number to an international country format." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:118 +msgid "To open a dashboard's underlying spreadsheet:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:415 -msgid "Belgium: `061928374` :icon:`fa-long-arrow-right` `+32 61 92 83 74`" +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:121 +msgid "Open the relevant dashboard section, then, on the line of the relevant dashboard, click :icon:`fa-pencil` :guilabel:`Edit`." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:416 -msgid "United States: `800 555-0101` :icon:`fa-long-arrow-right` `+1 800-555-0101`" +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:125 +msgid "To temporarily unpublish a dashboard while you make changes, disable :guilabel:`Is Published` *before* editing the dashboard, making note to republish it when the customization has been finalized." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:418 -msgid ":guilabel:`Scrap HTML` converts :abbr:`HTML (HyperText Markup Language)` to plain text." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:128 +msgid "Users who do not have the appropriate :ref:`access rights ` to customize a dashboard can still access a read-only version of the dashboard's underlying spreadsheet." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:422 -msgid "HTML text" +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:131 +msgid "With :ref:`developer mode ` activated, click on the :icon:`fa-pencil` :guilabel:`(Edit)` icon beside the name of a dashboard in the left panel to open its underlying spreadsheet." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:428 -msgid "Plain text" +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:135 +msgid "The spreadsheet that opens typically consists of at least two sheets:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:433 -msgid "Once a field and action are selected, click :guilabel:`Save` to close the :guilabel:`Create Rules` popover window." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:137 +msgid "**The first sheet** always serves as the front end of your dashboard, and contains the tables and charts used to structure and visualize the data." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:436 -msgid "Then, select a :guilabel:`Cleaning Mode`:" +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:140 +msgid "**The second and any subsequent sheets** typically contain data used for the calculation of key metrics shown on the first sheet." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:438 -msgid ":guilabel:`Manual`: requires each detected field to be manually cleaned and enables the :guilabel:`Notify Users` field." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:144 +msgid "The :ref:`data sources ` that maintain the connection between the spreadsheet and the relevant models in your database can be viewed by clicking :menuselection:`Data` on the spreadsheet's menu bar. These data sources are identified by their respective :icon:`oi-view-pivot` :guilabel:`(pivot table)`, :icon:`oi-view-list` :guilabel:`(list)` or :icon:`fa-bar-chart` :guilabel:`(chart)` icon, followed by their ID and name, e.g., :icon:`oi-view-pivot` *(#1) Sales Analysis by Product*." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:440 -msgid ":guilabel:`Automatic`: automatically cleans fields without notifying users." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:151 +msgid "For :ref:`standard dashboards `, while the data sources are still active and visible in the :menuselection:`Data` menu, the corresponding lists and pivot tables have been removed from the spreadsheet for better performance and a neater appearance." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:442 -msgid "With the rule's configuration complete, either close the rule form, or :ref:`run the rule manually ` to instantly capture fields to clean." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:158 +msgid "Duplicate a dashboard" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:448 -msgid "Manually run a field cleaning rule" +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:160 +msgid "To duplicate a dashboard:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:450 -msgid "To manually run a specific field cleaning rule at any time, navigate to :menuselection:`Data Cleaning app --> Configuration --> Field Cleaning`, and select the rule to run." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:163 +msgid "Open the relevant dashboard section, then, on the line of the dashboard you want to duplicate, click :icon:`fa-pencil` :guilabel:`Edit`." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:453 -msgid "Then, on the rule form, select the :guilabel:`Clean` button on the top-left. Upon doing so, the :icon:`fa-bars` :guilabel:`Records` smart button displays the number of records captured." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:165 +msgid "In the spreadsheet that opens, click :menuselection:`File -->` :icon:`os-copy-file` :menuselection:`Make a copy`." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:456 -msgid "Click on the :icon:`fa-bars` :guilabel:`Records` smart button to :ref:`manage these records `." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:167 +msgid "Rename the duplicated dashboard by clicking the name of the spreadsheet at the top left of the screen and editing as needed." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:462 -msgid "Merge action manager" +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:171 +msgid "To return to the overview of the dashboard section, click the name of the original dashboard at the top left of the page, then the name of the dashboard section." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:464 -msgid "The *Merge Action Manager* enables or disables the *Merge* action available in the *Actions* menu for models in the database." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:173 +msgid "After duplicating a dashboard, delete the original dashboard by clicking the :icon:`fa-trash` :guilabel:`(trash)` icon or rename it by clicking on the name then editing it." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:467 -msgid "Enable :ref:`developer-mode` and navigate to :menuselection:`Data Cleaning app --> Configuration --> Merge Action Manager`." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:179 +msgid "Add, edit, or remove dashboard elements" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:470 -msgid "Models are listed with the following columns:" +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:181 +msgid "Dashboards can be customized in various ways, such as by:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:472 -msgid ":guilabel:`Model`: technical name of the model." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:183 +msgid "adding new tables and charts based on previously inserted or :ref:`newly inserted Odoo data `. This requires a similar approach to :ref:`building a dashboard from scratch `;" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:473 -msgid ":guilabel:`Model Description`: display name of the model." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:186 +msgid ":doc:`adding new global filters <../spreadsheet/work_with_data/global_filters>` or editing or deleting existing ones;" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:474 -msgid ":guilabel:`Type`: whether the model is of the *Base Object* or *Custom Object* type." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:188 +msgid ":ref:`adding or editing clickable links ` to Odoo menus, URLs, or to other sheets within the same spreadsheet." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:475 -msgid ":guilabel:`Transient Model`: the model handles temporary data that does not need to be stored long-term in the database." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:192 +msgid "The first tab of the spreadsheet serves as the front end of the dashboard. Any tables or charts that should be visible on the final dashboard need to be added to this sheet." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:477 -msgid ":guilabel:`Can Be Merged`: enables the *Merge* action for the model." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:194 +msgid "Dashboard elements that are no longer needed can be deleted from the spreadsheet. If, after deleting a dashboard element, a :ref:`data source ` is no longer being used in the spreadsheet, this is indicated by a :icon:`fa-exclamation-triangle` :guilabel:`(warning)` icon in the :guilabel:`Data` menu." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:479 -msgid "To view which models are enabled by default, use the :ref:`search bar ` to filter models that :guilabel:`Can Be Merged`." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:0 +msgid "Warning to indicate data source no longer used in spreadsheet" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:483 -msgid ":doc:`../essentials/contacts/merge`" +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:205 +msgid "Insert new Odoo data" msgstr "" -#: ../../content/applications/productivity/discuss.rst:6 -msgid "Discuss" +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:207 +msgid "New Odoo data, such as lists, pivot tables, or charts, can be inserted into a dashboard, starting from the relevant list view, pivot view, or graph view. Concretely, a list or pivot table is inserted into a new sheet in the dashboard's underlying spreadsheet; a chart is inserted on the first sheet of the spreadsheet." msgstr "" -#: ../../content/applications/productivity/discuss.rst:8 -msgid "Odoo **Discuss** is an internal communication app that allows users to connect through messages, notes, file sharing, and video calls. **Discuss** enables communication through a persistent chat window that works across applications, or through the dedicated *Discuss* dashboard." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:212 +msgid "To insert new data:" msgstr "" -#: ../../content/applications/productivity/discuss.rst:12 -msgid "Upon opening the :menuselection:`Discuss app`, the :guilabel:`Discuss` dashboard appears." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:214 +msgid "With the relevant list view, pivot view or graph view open in your database, proceed as follows:" msgstr "" -#: ../../content/applications/productivity/discuss.rst:15 -msgid "Inbox, starred, and history" +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:216 +msgid "For a list view, click the :icon:`fa-cog` :guilabel:`(Actions)` icon beside the name of the view, then :guilabel:`Spreadsheet -->` :icon:`oi-view-list` :menuselection:`Insert list in spreadsheet`." msgstr "" -#: ../../content/applications/productivity/discuss.rst:17 -msgid "Upon opening the :menuselection:`Discuss app`, the *Discuss* dashboard appears." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:219 +msgid "For a pivot or graph view, click :guilabel:`Insert in Spreadsheet` at the top left of the view." msgstr "" -#: ../../content/applications/productivity/discuss.rst:19 -msgid "On the :guilabel:`Discuss` dashboard, unread messages are visible in the :icon:`fa-inbox` :guilabel:`Inbox`. :icon:`fa-star-o` :guilabel:`Starred` is where starred messages are stored. :icon:`fa-history` :guilabel:`History` shows chatter updates for records in the Odoo database the user has been assigned to, or tagged on." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:221 +msgid "In the window that opens, edit the name if needed. For a list, edit the number of records, i.e., rows to be inserted, if needed." msgstr "" -#: ../../content/applications/productivity/discuss.rst:25 -msgid "Direct messages" +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:223 +msgid "Click the :guilabel:`Dashboards` tab then select in which dashboard the list, pivot table, or chart should be inserted." msgstr "" -#: ../../content/applications/productivity/discuss.rst:27 -msgid "*Direct messages* allow the user to communicate privately with one or multiple team members. To start a new direct message, click the :icon:`fa-plus` icon, next to :guilabel:`Direct Messages` on the :guilabel:`Discuss` dashboard, and enter the name of the desired person in the :guilabel:`Start a conversation` search bar that appears." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:226 +msgid "The dashboard's underlying spreadsheet opens, with the new data inserted either on a new sheet (list or pivot table) or on the first sheet (chart)." msgstr "" -#: ../../content/applications/productivity/discuss.rst:33 -msgid "Multiple names can be selected in the :guilabel:`Start a conversation` search bar. Once all of the names have been entered, press :kbd:`Enter`." +#: ../../content/applications/productivity/dashboards/build_and_customize_dashboards.rst:230 +msgid ":doc:`Inserting Odoo data into a spreadsheet <../spreadsheet/insert>`" msgstr "" -#: ../../content/applications/productivity/discuss.rst:37 -msgid "Direct message actions" +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:3 +msgid "My Dashboard" msgstr "" -#: ../../content/applications/productivity/discuss.rst:39 -msgid "Hover over a direct message in the chat window to see a menu of actions to take on the message." +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:5 +msgid "**My Dashboard** allows you to centralize the :doc:`Odoo views <../../studio/views>` you consult most regularly, making it possible to see critical tasks at a glance without having to first navigate through multiple apps." msgstr "" -#: ../../content/applications/productivity/discuss.rst:41 -msgid ":icon:`oi-smile-add` :guilabel:`(Add a Reaction)`: open a drop-down menu of emojis that can be used to react to the direct message." +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:9 +msgid "My Dashboard is empty until at least one view has been added." msgstr "" -#: ../../content/applications/productivity/discuss.rst:43 -msgid ":icon:`fa-reply` :guilabel:`(Reply)`: reply to the direct message in a thread." +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:0 +msgid "Example of views added to My Dashboard" msgstr "" -#: ../../content/applications/productivity/discuss.rst:44 -msgid ":icon:`fa-star-o` :guilabel:`(Mark as Todo)`: add the message to the :guilabel:`Starred` tab." +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:14 +msgid "Views inserted in My Dashboard are fully dynamic and retain many features of the source view, e.g., sorting of lists, changing the measures used for a pivot table or cohort view, changing the chart type, or clicking on a value or data point to view the underlying record(s)." msgstr "" -#: ../../content/applications/productivity/discuss.rst:45 -msgid ":icon:`fa-ellipsis-h` :guilabel:`(Expand)`: reveals more message actions, including:" +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:19 +msgid "It is not possible to change the domain, i.e., the :doc:`filtering or grouping <../../essentials/search>`, of a view that has been added to My Dashboard. To change the domain, make the necessary changes in the original view, then re-insert the view in My Dashboard and delete the originally inserted view." msgstr "" -#: ../../content/applications/productivity/discuss.rst:47 -msgid ":icon:`fa-thumb-tack` :guilabel:`Pin`" +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:23 +msgid "Unlike other Odoo dashboards, My Dashboard is not based on **Odoo Spreadsheet**." msgstr "" -#: ../../content/applications/productivity/discuss.rst:48 -msgid ":icon:`fa-eye-slash` :guilabel:`Mark as Unread`" +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:28 +msgid "Add views" msgstr "" -#: ../../content/applications/productivity/discuss.rst:49 -msgid ":icon:`fa-pencil` :guilabel:`Edit`" +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:30 +msgid "Most Odoo views can be added to My Dashboard, including:" msgstr "" -#: ../../content/applications/productivity/discuss.rst:50 -msgid ":icon:`fa-trash` :guilabel:`Delete`" +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:32 +msgid ":ref:`multiple record views ` like list, kanban, and map" msgstr "" -#: ../../content/applications/productivity/discuss.rst:53 -msgid "Conversation actions" +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:33 +msgid ":ref:`timeline views ` like calendar, cohort, and gantt" msgstr "" -#: ../../content/applications/productivity/discuss.rst:55 -msgid "The icons in the top-right corner of a direct message conversation represent different actions the user can take on that conversation." +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:34 +msgid ":ref:`reporting views ` like pivot and graph" msgstr "" -#: ../../content/applications/productivity/discuss.rst:58 -msgid "Click :icon:`fa-bell` :guilabel:`Notification Settings` to set up notification preferences for the conversation, or click :icon:`fa-phone` :guilabel:`Start a Call` to begin a meeting. See the :ref:`Meetings ` section for more information about meetings." +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:36 +msgid "To add a view to My Dashboard:" msgstr "" -#: ../../content/applications/productivity/discuss.rst:62 -msgid "At the top of the direct message window, click the name of the direct message to change the group name, and choose to add a description in the adjacent :guilabel:`Add a description` field." +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:38 +msgid "With the relevant view open in your database, click the :icon:`fa-cog` :guilabel:`(Actions)` icon beside the name of the view, then :menuselection:`Dashboard`." msgstr "" -#: ../../content/applications/productivity/discuss.rst:-1 -msgid "View of the conversation actions." +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:40 +msgid "Under :guilabel:`Add to my Dashboard`, rename the view if desired, then click :guilabel:`Add`." msgstr "" -#: ../../content/applications/productivity/discuss.rst:70 -msgid "The :guilabel:`Add a description` field is **only** available for group messages with more than two participants." +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:0 +msgid "Adding a view to My Dashboard" msgstr "" -#: ../../content/applications/productivity/discuss.rst:74 -msgid "User status" +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:46 +msgid "Refresh the page." msgstr "" -#: ../../content/applications/productivity/discuss.rst:76 -msgid "It is helpful to see what colleagues are up to, and how quickly they can respond to messages, by checking their status. The status is displayed as a circle in the bottom-right corner of a contact's photo in the :icon:`fa-users` :guilabel:`(Members List)`." +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:48 +msgid "The added view is now visible as a widget in My Dashboard in the Dashboards app." msgstr "" -#: ../../content/applications/productivity/discuss.rst:80 -msgid "The color of the circle represents the user's status:" +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:51 +msgid "If added views are not showing in My Dashboard, refresh the browser page." msgstr "" -#: ../../content/applications/productivity/discuss.rst:82 -msgid "Green = online" +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:56 +msgid "Customize layout" msgstr "" -#: ../../content/applications/productivity/discuss.rst:83 -msgid "Orange = away" +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:58 +msgid "When at least one view has been added to My Dashboard, the page can be customized as follows:" msgstr "" -#: ../../content/applications/productivity/discuss.rst:84 -msgid "White = offline" +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:60 +msgid "**Change the layout of the page**: Click :guilabel:`Change Layout` in the top-right corner and select the desired layout." msgstr "" -#: ../../content/applications/productivity/discuss.rst:85 -msgid "Airplane = out of the office" +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:64 +msgid "For multi-column layouts, the column limits are identified by :icon:`fa-caret-left` :guilabel:`(left caret)` and :icon:`fa-caret-right` :guilabel:`(right caret)` icons at the bottom of the page. If needed, scroll to the bottom of the page to see the column limits." msgstr "" -#: ../../content/applications/productivity/discuss.rst:88 -msgid "Leave a direct message conversation" +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:0 +msgid "Column limits visible at bottom of page" msgstr "" -#: ../../content/applications/productivity/discuss.rst:90 -msgid "To leave a direct message conversations, click the :icon:`fa-times` :guilabel:`(Leave this channel)` icon next to the conversation name in the :guilabel:`Direct Messages` section of the sidebar." +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:71 +msgid "**Collapse and expand widgets**: By default, an inserted widget is shown fully expanded. To collapse, or minimize, a widget, and show only the title, click the :icon:`fa-window-minimize` :guilabel:`(minimize)` icon at the top right of the widget. To expand a widget, click the :icon:`fa-window-maximize` :guilabel:`(maximize)` icon." msgstr "" -#: ../../content/applications/productivity/discuss.rst:94 -msgid "Leaving a conversation does **not** delete the direct messages in the conversation. The direct message conversation's history is visible when another direct message with the same person, or group, is created." +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:75 +msgid "**Move widgets**: Drag and drop widgets to the desired location in the same column or a different column." msgstr "" -#: ../../content/applications/productivity/discuss.rst:101 -msgid "Meetings" +#: ../../content/applications/productivity/dashboards/my_dashboard.rst:77 +msgid "**Remove widgets**: To remove a widget from the page, click the :icon:`fa-times` :guilabel:`(remove)` icon." msgstr "" -#: ../../content/applications/productivity/discuss.rst:103 -msgid "In **Discuss**, *Meetings* are video calls. To start a meeting from the :guilabel:`Discuss` dashboard, click :guilabel:`Start a meeting` in the top-left corner, and select who to invite to the meeting, via the :guilabel:`Invite People` drop-down window that appears. To start a meeting from a direct message, click the :icon:`fa-phone` :guilabel:`Start a Call` icon in the top-right corner." +#: ../../content/applications/productivity/data_cleaning.rst:3 +msgid "Data Cleaning" msgstr "" -#: ../../content/applications/productivity/discuss.rst:-1 -msgid "View of a Meeting in Odoo Discuss." +#: ../../content/applications/productivity/data_cleaning.rst:5 +msgid "The Odoo **Data Cleaning** app maintains data integrity and consistency with the following features:" msgstr "" -#: ../../content/applications/productivity/discuss.rst:111 -msgid "Once a meeting has been started, the following buttons can be used:" +#: ../../content/applications/productivity/data_cleaning.rst:7 +msgid ":ref:`Deduplicates `: merges or removes duplicate entries to ensure data is unique." msgstr "" -#: ../../content/applications/productivity/discuss.rst:114 -msgid "Icon" +#: ../../content/applications/productivity/data_cleaning.rst:9 +msgid ":ref:`Recycles `: identifies outdated records to either archive or delete them." msgstr "" -#: ../../content/applications/productivity/discuss.rst:114 -#: ../../content/applications/productivity/knowledge.rst:94 -#: ../../content/applications/productivity/knowledge.rst:279 -#: ../../content/applications/productivity/knowledge.rst:301 -msgid "Use" +#: ../../content/applications/productivity/data_cleaning.rst:11 +msgid ":ref:`Formats `: standardizes text data by finding and replacing it according to specified needs." msgstr "" -#: ../../content/applications/productivity/discuss.rst:116 -msgid ":icon:`fa-microphone`" +#: ../../content/applications/productivity/data_cleaning.rst:14 +msgid "Customizable rules ensure text data stays up-to-date, streamlined, consistently formatted, and aligned with company-specific formatting requirements." msgstr "" -#: ../../content/applications/productivity/discuss.rst:116 -msgid ":guilabel:`Mute`" +#: ../../content/applications/productivity/data_cleaning.rst:20 +msgid "Install modules" msgstr "" -#: ../../content/applications/productivity/discuss.rst:118 -msgid ":icon:`fa-microphone-slash`" +#: ../../content/applications/productivity/data_cleaning.rst:22 +msgid "The **Data Cleaning** application consists of several modules. :ref:`Install ` the following to access all available features:" msgstr "" -#: ../../content/applications/productivity/discuss.rst:118 -msgid ":guilabel:`Unmute`" +#: ../../content/applications/productivity/data_cleaning.rst:0 +#: ../../content/applications/productivity/whatsapp.rst:275 +#: ../../content/applications/productivity/whatsapp.rst:680 +msgid "Name" msgstr "" -#: ../../content/applications/productivity/discuss.rst:120 -msgid ":icon:`fa-headphones`" +#: ../../content/applications/productivity/data_cleaning.rst:0 +msgid "`Technical name`" msgstr "" -#: ../../content/applications/productivity/discuss.rst:120 -msgid ":guilabel:`Deafen`" +#: ../../content/applications/productivity/data_cleaning.rst:31 +msgid "Description" msgstr "" -#: ../../content/applications/productivity/discuss.rst:122 -msgid ":icon:`fa-deaf`" +#: ../../content/applications/productivity/data_cleaning.rst:0 +msgid ":guilabel:`Data Recycle`" msgstr "" -#: ../../content/applications/productivity/discuss.rst:122 -msgid ":guilabel:`Undeafen`" +#: ../../content/applications/productivity/data_cleaning.rst:0 +msgid "`data_recycle`" msgstr "" -#: ../../content/applications/productivity/discuss.rst:124 -msgid ":icon:`fa-video-camera`" +#: ../../content/applications/productivity/data_cleaning.rst:34 +msgid "Base module to enable the recycle feature, available on :ref:`Odoo Community edition `." msgstr "" -#: ../../content/applications/productivity/discuss.rst:124 -msgid ":guilabel:`Turn camera on/off`" +#: ../../content/applications/productivity/data_cleaning.rst:0 +msgid ":guilabel:`Data Cleaning`" msgstr "" -#: ../../content/applications/productivity/discuss.rst:126 -msgid ":icon:`fa-hand-paper-o`" +#: ../../content/applications/productivity/data_cleaning.rst:0 +msgid "`data_cleaning`" msgstr "" -#: ../../content/applications/productivity/discuss.rst:126 -msgid ":guilabel:`Raise Hand`" +#: ../../content/applications/productivity/data_cleaning.rst:38 +msgid "Enables field cleaning feature to format text data across multiple records, available **only** on :ref:`Odoo Enterprise edition `." msgstr "" -#: ../../content/applications/productivity/discuss.rst:128 -msgid ":icon:`fa-desktop`" +#: ../../content/applications/productivity/data_cleaning.rst:0 +msgid ":guilabel:`Data Cleaning (merge)`" msgstr "" -#: ../../content/applications/productivity/discuss.rst:128 -msgid ":guilabel:`Share Screen`" +#: ../../content/applications/productivity/data_cleaning.rst:0 +msgid "`data_merge`" msgstr "" -#: ../../content/applications/productivity/discuss.rst:130 -msgid ":icon:`fa-arrows-alt`" +#: ../../content/applications/productivity/data_cleaning.rst:42 +msgid "Enables the deduplication feature to find similar (or duplicate) records, and merge them, available **only** on :ref:`Odoo Enterprise edition `." msgstr "" -#: ../../content/applications/productivity/discuss.rst:130 -msgid ":guilabel:`Enter Full Screen`" +#: ../../content/applications/productivity/data_cleaning.rst:0 +msgid ":guilabel:`CRM Deduplication`" msgstr "" -#: ../../content/applications/productivity/discuss.rst:136 -msgid "User-specific notification preferences" +#: ../../content/applications/productivity/data_cleaning.rst:0 +msgid "`data_merge_crm`" msgstr "" -#: ../../content/applications/productivity/discuss.rst:138 -msgid "Access user-specific preferences for the **Discuss** app by navigating to :menuselection:`Settings app --> Manage Users`, select a user, then click the :guilabel:`Preferences` tab." +#: ../../content/applications/productivity/data_cleaning.rst:52 +msgid "Enables the deduplication feature on the **CRM** app, and uses the :doc:`CRM default merging feature <../sales/crm/pipeline/merge_similar>`." msgstr "" -#: ../../content/applications/productivity/discuss.rst:-1 -msgid "View of the Preferences tab for Odoo Discuss." +#: ../../content/applications/productivity/data_cleaning.rst:0 +msgid ":guilabel:`Helpdesk Merge action`" msgstr "" -#: ../../content/applications/productivity/discuss.rst:144 -msgid "By default, the :guilabel:`Notification` field is set as :guilabel:`Handle by Emails`. With this setting enabled, a notification email is sent by Odoo every time a message is sent from the chatter of a record, a note is sent with an `@` mention (from the chatter of a record), or a notification is sent for a record the user follows." +#: ../../content/applications/productivity/data_cleaning.rst:0 +msgid "`data_merge_helpdesk`" msgstr "" -#: ../../content/applications/productivity/discuss.rst:149 -msgid "By choosing :guilabel:`Handle in Odoo`, the above notifications are shown in the **Discuss** app's *Inbox*." +#: ../../content/applications/productivity/data_cleaning.rst:56 +msgid "Enables the merge feature for the **Helpdesk** app." msgstr "" -#: ../../content/applications/productivity/discuss.rst:153 -msgid "Chat from different applications" +#: ../../content/applications/productivity/data_cleaning.rst:0 +msgid ":guilabel:`Project Merge action`" msgstr "" -#: ../../content/applications/productivity/discuss.rst:155 -msgid "The **Discuss** application enables communication across all of Odoo's applications. To view chats and channels, or start a new message, select the speech bubbles that are consistently present in the upper-right corner of the database header." +#: ../../content/applications/productivity/data_cleaning.rst:0 +msgid "`data_merge_project`" msgstr "" -#: ../../content/applications/productivity/discuss.rst:-1 -msgid "Use Discuss across other applications by clicking the speech bubbles." +#: ../../content/applications/productivity/data_cleaning.rst:59 +msgid "Enables the merge feature for the **Projects** app." msgstr "" -#: ../../content/applications/productivity/discuss.rst:163 -msgid ":doc:`discuss/team_communication`" +#: ../../content/applications/productivity/data_cleaning.rst:0 +msgid ":guilabel:`UTM Deduplication`" msgstr "" -#: ../../content/applications/productivity/discuss.rst:164 -#: ../../content/applications/productivity/discuss/team_communication.rst:100 -msgid ":doc:`/applications/essentials/activities`" +#: ../../content/applications/productivity/data_cleaning.rst:0 +msgid "`data_merge_utm`" msgstr "" -#: ../../content/applications/productivity/discuss.rst:165 -msgid ":doc:`discuss/ice_servers`" +#: ../../content/applications/productivity/data_cleaning.rst:62 +msgid "Enables the merge feature for the **UTM Tracker** app." msgstr "" -#: ../../content/applications/productivity/discuss.rst:166 -msgid ":doc:`discuss/chatter`" +#: ../../content/applications/productivity/data_cleaning.rst:0 +msgid ":guilabel:`WMS Accounting Merge`" msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:3 -msgid "Canned responses" +#: ../../content/applications/productivity/data_cleaning.rst:0 +msgid "`data_merge_stock_account`" msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:5 -msgid "*Canned responses* are customizable inputs where a typed shortcut populates a longer response. A user enters a keyword shortcut, which is then automatically replaced by the expanded substitution response. Canned responses save time by allowing users to use shorthand phrases to populate longer messages. This also limits the possibility of errors when typing out longer messages because these are pre-set messages. This maintains consistency throughout customer interactions." +#: ../../content/applications/productivity/data_cleaning.rst:65 +msgid "Creates a warning in cases of products merging that may affect inventory valuation, if the **Inventory** app is installed." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:11 -msgid "Canned responses consist of two main components: the *shortcut* and the *substitution*. The shortcut is the keyword or key phrase that is to be replaced. The substitution is the longer message that replaces the shortcut." +#: ../../content/applications/productivity/data_cleaning.rst:71 +msgid "Deduplication" msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:-1 -msgid "A live chat conversation using a canned response." +#: ../../content/applications/productivity/data_cleaning.rst:73 +msgid "The *Duplicates* dashboard groups similar records to be :ref:`merged ` by matching conditions within the records set by the :ref:`deduplication rules `." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:18 -msgid "Canned responses are available :ref:`to use ` in **Live Chat** conversations, the **Discuss** app, and the *Chatter*. Canned responses are also available in direct message conversations, channel conversations, and *WhatsApp* messages." +#: ../../content/applications/productivity/data_cleaning.rst:77 +msgid "Navigate to this dashboard by going to :menuselection:`Data Cleaning app --> Deduplication`." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:25 -msgid "Creating canned responses" +#: ../../content/applications/productivity/data_cleaning.rst:-1 +msgid "Deduplication dashboard in the Data Cleaning application." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:27 -msgid "Canned responses are managed through the **Discuss** application. To create a new canned response, or manage the list of existing responses, navigate to :menuselection:`Discuss app --> Configuration --> Canned Responses`." +#: ../../content/applications/productivity/data_cleaning.rst:82 +msgid "The :guilabel:`RULE` sidebar lists each of the active deduplication rules, and displays the total number of duplicates detected beside each rule." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:31 -msgid "Then, to create a new canned response, click :guilabel:`New` at the top-left of the list. Doing so reveals a new blank line in the list." +#: ../../content/applications/productivity/data_cleaning.rst:85 +msgid "By default, the :guilabel:`All` rule is selected. Records are grouped by their rule, with a :guilabel:`Similarity` rating (out of 100%), with the following columns:" msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:34 -msgid "Canned responses consist of two main components, a *shortcut* the user enters, and the *substitution* that replaces the shortcut." +#: ../../content/applications/productivity/data_cleaning.rst:88 +msgid ":guilabel:`Created On`: the date and time the original record was created." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:-1 -msgid "A list of canned responses emphasizing the shortcut and substitution fields." +#: ../../content/applications/productivity/data_cleaning.rst:89 +msgid ":guilabel:`Name`: the name or title of the original record." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:40 -msgid "Type a shortcut command in the :guilabel:`Shortcut` field. Next, click on the :guilabel:`Substitution` field, and type the message that will replace the shortcut." +#: ../../content/applications/productivity/data_cleaning.rst:90 +msgid ":guilabel:`Field Values`: the original record's values for the fields used to detect duplicates." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:44 -msgid "Try to connect the shortcut to the topic of the substitution. Not only does this make it easier to use the responses, it prevents the list of responses from becoming disorganized and overwhelming." +#: ../../content/applications/productivity/data_cleaning.rst:91 +msgid ":guilabel:`Used In`: lists other models referencing the original record." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:48 -msgid "The :guilabel:`Created by` field automatically populates with the name of the user that creates a new response. This field cannot be edited." +#: ../../content/applications/productivity/data_cleaning.rst:92 +msgid ":guilabel:`ID`: the original record's unique ID." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:51 -msgid "To :ref:`share ` this response with other users, select one or more groups in the :guilabel:`Authorized Group` field that should have access." +#: ../../content/applications/productivity/data_cleaning.rst:93 +msgid ":guilabel:`Is Master`: the duplicates are merged into the *master* record. There can only be **one** master record in a grouping of similar records." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:55 -msgid "If the :guilabel:`Authorized Group` field is left blank, the response can **only** be used by the user that created it." +#: ../../content/applications/productivity/data_cleaning.rst:96 +msgid "Select a specific rule in the :guilabel:`RULE` sidebar to filter the duplicate records." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:58 -msgid "Canned responses created by the database are automatically credited as created by *OdooBot*. They must be assigned to an *authorized group* before they can be used by **any** users. To view the responses created by *OdooBot*, navigate to :menuselection:`Discuss app --> Configuration --> Canned Responses`." +#: ../../content/applications/productivity/data_cleaning.rst:101 +msgid "Merge duplicate records" msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:63 -msgid "Lastly, the :guilabel:`Last Used` field keeps track of the date and time each response was most recently used. This field cannot be edited." +#: ../../content/applications/productivity/data_cleaning.rst:103 +msgid "To merge records, first choose a *master* record within the grouping of similar records. The master record acts as the base, at which any additional information from similar records are merged into." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:69 -msgid "Share responses" +#: ../../content/applications/productivity/data_cleaning.rst:106 +msgid "Optionally, no master record can be set, leaving Odoo to choose a record at random to merge into." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:71 -msgid "Canned responses, by default, are made available **only** to the user who creates them. To make a canned response available for others to use, they need to be shared." +#: ../../content/applications/productivity/data_cleaning.rst:108 +msgid "Next, click the :guilabel:`Merge` button at the top of the similar records grouping. Then, click :guilabel:`Ok` to confirm the merge." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:75 -msgid "Users with *Administrator* access rights can view and edit canned responses created by other users through the **Discuss** app. However, they are **only** able to use them if they are included in an authorized group that has been designated on that canned responses item line, located on the :guilabel:`Canned Responses` page." +#: ../../content/applications/productivity/data_cleaning.rst:111 +msgid "Once a record is merged, a message is logged in the chatter of the master record, describing the merge. Certain records, like **Project** tasks, are logged in the chatter with a link to the old record as a convenient reference of the merge." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:80 -msgid "Access to shared responses is granted on the :ref:`groups ` level." +#: ../../content/applications/productivity/data_cleaning.rst:116 +msgid "Discard groupings by clicking the :guilabel:`DISCARD` button. Upon doing so, the grouping is hidden from the list and archived." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:82 -msgid "To view the *Groups* a user is a member of, first enable :ref:`Developer mode `, then navigate to :menuselection:`Settings app --> Users & Companies --> Users`. Select a user from the list, and click to open their :guilabel:`User Record`. Then, click the :guilabel:`Groups` smart button at the top of the page." +#: ../../content/applications/productivity/data_cleaning.rst:119 +msgid "View discarded groupings by selecting the :guilabel:`Discarded` filter from the :ref:`search bar `." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:88 -msgid "To view a list of users in a specific group, first enable :doc:`Developer mode <../../general/developer_mode/>`. Next, navigate to :menuselection:`Settings app --> Users & Companies --> Groups`. Select a group from the list, then click to open the :guilabel:`Group Record`. A list of users is included on the :guilabel:`Users` tab." +#: ../../content/applications/productivity/data_cleaning.rst:125 +msgid "Deduplication rules" msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:93 -msgid "After determining what groups should have access to a response, they **must** :ref:`be added ` to the :guilabel:`Authorized Groups` field for each canned response." +#: ../../content/applications/productivity/data_cleaning.rst:127 +msgid "The *Deduplication Rules* set the conditions for how records are detected as duplicates." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:98 -msgid "The user who created the response can use it, even if they are not a member of one of the *Authorized Groups*." +#: ../../content/applications/productivity/data_cleaning.rst:129 +msgid "These rules can be configured for each model in the database, and with varying levels of specificity. To get started, navigate to :menuselection:`Data Cleaning app --> Configuration --> Deduplication`." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:104 -msgid "Use a canned response" +#: ../../content/applications/productivity/data_cleaning.rst:134 +msgid "The deduplication rules run once every day, by default, as part of a scheduled action cron (*Data Merge: Find Duplicate Records*). However, each rule can be :ref:`ran manually ` anytime." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:106 -msgid "To use a canned response in a conversation, click the :icon:`fa-plus-circle` :guilabel:`(plus)` icon in the message window. Then, click :guilabel:`Insert a Canned Response`. This opens a list of available canned responses. Either select a response from the list, or type the appropriate shortcut, then click the :icon:`fa-paper-plane` :guilabel:`(send)` icon or hit :kbd:`Enter`." +#: ../../content/applications/productivity/data_cleaning.rst:139 +msgid "Modify a deduplication rule" msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:112 -msgid "Typing `::` in the *Chatter* composer, or chat window, on its own generates a drop-down list of available canned responses. A response can be selected from the list, in addition to the use of shortcuts." +#: ../../content/applications/productivity/data_cleaning.rst:141 +msgid "Select a default rule to edit, or create a new rule by clicking on the :guilabel:`New` button." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:116 -msgid "To search through the list of available responses, type `::`, followed by the first few letters of the shortcut." +#: ../../content/applications/productivity/data_cleaning.rst:143 +msgid "First, choose a :guilabel:`Model` for this rule to target. Selecting a model updates the rule title to the chosen model." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:0 -msgid "A live chat window with a list of all available canned responses." +#: ../../content/applications/productivity/data_cleaning.rst:146 +msgid "Optionally, configure a :guilabel:`Domain` to specify the records eligible for this rule. The number of eligible records is shown in the :icon:`oi-arrow-right` :guilabel:`# record(s)` link." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:123 -msgid ":doc:`Chatter `" +#: ../../content/applications/productivity/data_cleaning.rst:149 +msgid "Depending on the selected :guilabel:`Model`, the :guilabel:`Duplicate Removal` field appears. Choose whether to :guilabel:`Archive` or :guilabel:`Delete` merged records." msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:124 -#: ../../content/applications/productivity/discuss/chatter.rst:430 -msgid ":doc:`Discuss <../discuss>`" +#: ../../content/applications/productivity/data_cleaning.rst:152 +msgid "Next, select a :guilabel:`Merge Mode`:" msgstr "" -#: ../../content/applications/productivity/discuss/canned_responses.rst:125 -msgid ":ref:`Commands and Canned Responses `" +#: ../../content/applications/productivity/data_cleaning.rst:154 +msgid ":guilabel:`Manual`: requires each duplicate grouping to be manually merged, also enables the :guilabel:`Notify Users` field." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:3 -msgid "Chatter" +#: ../../content/applications/productivity/data_cleaning.rst:156 +msgid ":guilabel:`Automatic`: automatically merges duplicate groupings, without notifying users, based on the records with a similarity percentage above the threshold set in the :guilabel:`Similarity Threshold` field." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:9 -msgid "The *Chatter* feature is integrated throughout Odoo to streamline communication, maintain traceability, and provide accountability among team members. Chatter windows, known as *composers*, are located on almost every record within the database, and allow users to communicate with both internal users and external contacts." +#: ../../content/applications/productivity/data_cleaning.rst:160 +msgid "Enable the :guilabel:`Active` toggle to start capturing duplicates with this rule as soon as it is saved." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:14 -msgid "Chatter composers also enable users to log notes, upload files, and schedule activities." +#: ../../content/applications/productivity/data_cleaning.rst:163 +msgid "Lastly, create at least one deduplication rule in the :guilabel:`Deduplication Rules` field, by clicking :guilabel:`Add a line`, under the :guilabel:`Unique ID Field` column." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:17 -msgid "Chatter thread" +#: ../../content/applications/productivity/data_cleaning.rst:166 +msgid "Select a field in the model from the :guilabel:`Unique ID Field` drop-down menu. This field is referenced for similar records." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:19 -msgid "A *chatter thread* can be found on most pages in the database, and serves as a record of the updates and edits made to a record. A note is logged in the chatter thread when a change is made to the record. The note includes details of the change, and a time stamp." +#: ../../content/applications/productivity/data_cleaning.rst:168 +msgid "Select a matching condition in the :guilabel:`Match If` field to apply the deduplication rule, depending on the text in the :guilabel:`Unique ID Field`:" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:24 -msgid "A user, Mitchell Admin, needs to update the email address of a contact. After they save the changes to the contact record, a note is logged in the chatter of the contact record with the following information:" +#: ../../content/applications/productivity/data_cleaning.rst:171 +msgid ":guilabel:`Exact Match`: the characters in the text match exactly." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:28 -msgid "The date when the change occurred." +#: ../../content/applications/productivity/data_cleaning.rst:172 +msgid ":guilabel:`Case/Accent Insensitive Match`: the characters in the text match, regardless of casing and language-specific accent differences." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:29 -msgid "The email address as it was previously listed." +#: ../../content/applications/productivity/data_cleaning.rst:176 +msgid "At least one :guilabel:`Deduplication Rules` must be set for the rule to capture duplicates." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:30 -msgid "The updated email address." +#: ../../content/applications/productivity/data_cleaning.rst:179 +msgid "A few more fields are available for an advanced configuration." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:0 -msgid "A close up of a chatter thread with an update to a contact record." +#: ../../content/applications/productivity/data_cleaning.rst:181 +msgid "If on a multi-company database, the :guilabel:`Cross-Company` field is available. When enabled, duplicates across different companies are suggested." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:35 -msgid "If a record was created, or edited, via an imported file, or was otherwise updated through an intervention by the system, the chatter thread creates a log note, and credits the change to OdooBot." +#: ../../content/applications/productivity/data_cleaning.rst:184 +msgid "Activate :ref:`developer-mode` to display the :guilabel:`Suggestion Threshold` field. Duplicates with a similarity below the threshold set in this field are **not** suggested." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:-1 -msgid "A close up of a chatter thread of an OdooBot created contact record." +#: ../../content/applications/productivity/data_cleaning.rst:187 +msgid "With the rule's configuration complete, either close the rule form, or :ref:`run the rule manually ` to instantly capture duplicate records." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:45 -msgid "Add followers" +#: ../../content/applications/productivity/data_cleaning.rst:193 +msgid "Manually run a deduplication rule" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:47 -msgid "A *follower* is a user or contact that is added to a record and is notified when the record is updated, based on specific :ref:`follower subscription settings `. Followers can add themselves, or can be added by another user." +#: ../../content/applications/productivity/data_cleaning.rst:195 +msgid "To manually run a specific deduplication rule at any time, navigate to :menuselection:`Data Cleaning app --> Configuration --> Deduplication`, and select the rule to run." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:52 -msgid "If a user creates, or is assigned to a record, they are automatically added as a follower." +#: ../../content/applications/productivity/data_cleaning.rst:198 +msgid "Then, on the rule form, select the :guilabel:`Deduplicate` button on the top-left. Upon doing so, the :icon:`fa-clone` :guilabel:`Duplicates` smart button displays the number of duplicates captured." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:54 -msgid "To follow a record, navigate to any record with a chatter thread. For example, to open a *Helpdesk* ticket, navigate to :menuselection:`Helpdesk app --> Tickets --> All Tickets`, and select a ticket from the list to open it." +#: ../../content/applications/productivity/data_cleaning.rst:201 +msgid "Click on the :icon:`fa-clone` :guilabel:`Duplicates` smart button to :ref:`manage these records `." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:58 -msgid "At the top-right, above the chatter composer, click :guilabel:`Follow`. Doing this changes the button to read :guilabel:`Following`. Click it again to :guilabel:`Unfollow`." +#: ../../content/applications/productivity/data_cleaning.rst:207 +msgid "Recycle records" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:62 -msgid "Manage followers" +#: ../../content/applications/productivity/data_cleaning.rst:209 +msgid "Use the *recycle records* feature to rid the database of old and outdated records." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:64 -msgid "To add another user, or contact, as a follower, click the |user|. This opens a drop-down list of the current followers. Click :guilabel:`Add Followers` to open an :guilabel:`Invite Follower` pop-up window." +#: ../../content/applications/productivity/data_cleaning.rst:211 +msgid "The *Field Recycle Records* dashboard displays records that can be archived or deleted, by matching conditions within the records set by the :ref:`recycle record's rules `." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:68 -msgid "Select one or more contacts from the :guilabel:`Recipients` drop-down list. To notify the contacts, tick the :guilabel:`Send Notification` checkbox. Edit the message template as desired, then click :guilabel:`Add Followers`." +#: ../../content/applications/productivity/data_cleaning.rst:214 +msgid "Navigate to this dashboard by going to :menuselection:`Data Cleaning app --> Recycle Records`." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:72 -msgid "To remove followers, click the |user| to open the current followers list. Find the name of the follower to be removed, and click the :icon:`fa-remove` :guilabel:`(remove)` icon." +#: ../../content/applications/productivity/data_cleaning.rst:-1 +msgid "Field Recycle Records dashboard in the Data Cleaning application." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:78 -msgid "Edit follower subscription" +#: ../../content/applications/productivity/data_cleaning.rst:219 +msgid "The :guilabel:`RECYCLE RULES` sidebar lists each of the active recycle record rules." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:80 -msgid "The updates a follower receives can vary based on their subscription settings. To see the type of updates a follower is subscribed to, and to edit the list, click the |user|. Find the appropriate follower in the list, then click the :icon:`fa-pencil` :guilabel:`(pencil)` icon. This opens the :guilabel:`Edit Subscription` pop-up window for the follower." +#: ../../content/applications/productivity/data_cleaning.rst:221 +msgid "By default, the :guilabel:`All` option is selected. Records are displayed with the following columns:" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:85 -msgid "The list of available subscription settings varies depending on the record type. For example, a follower of a *Helpdesk* ticket may be informed when the ticket is rated. This option would not be available for the followers of a *CRM* opportunity." +#: ../../content/applications/productivity/data_cleaning.rst:224 +#: ../../content/applications/productivity/data_cleaning.rst:339 +msgid ":guilabel:`Record ID`: the ID of the original record." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:89 -msgid "Tick the checkbox for any updates the follower should receive, and clear the checkbox for any updates they should **not** receive. Click :guilabel:`Apply` when finished." +#: ../../content/applications/productivity/data_cleaning.rst:225 +#: ../../content/applications/productivity/data_cleaning.rst:340 +msgid ":guilabel:`Record Name`: the name or title of the original record." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:95 -msgid "The Edit Subscription window on a Helpdesk ticket." +#: ../../content/applications/productivity/data_cleaning.rst:227 +msgid "Select a specific rule in the :guilabel:`RECYCLE RULES` sidebar to filter the records." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:95 -msgid "The Edit Subscription options vary depending on the record type. These are the options for a Helpdesk ticket." +#: ../../content/applications/productivity/data_cleaning.rst:229 +msgid "To recycle records, click the :icon:`fa-check` :guilabel:`Validate` button on the row of the record." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:101 -msgid "Log notes" +#: ../../content/applications/productivity/data_cleaning.rst:231 +msgid "Upon doing so, the record is recycled, depending on how the rule is configured, to be either archived or deleted from the database." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:103 -msgid "The chatter function includes the ability to log internal notes on individual records. These notes are only accessible to internal users, and are available on any records that feature a chatter thread." +#: ../../content/applications/productivity/data_cleaning.rst:235 +msgid "Discard groupings by clicking the :icon:`fa-times` :guilabel:`Discard` button. Upon doing so, the record is hidden from the list, and is not detected by the recycle rule again in the future." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:107 -msgid "To log an internal note, first navigate to a record. For example, to open a *CRM* opportunity, navigate to :menuselection:`CRM app --> Sales --> My Pipeline`, and click on the Kanban card of an opportunity to open it. Then, at the top-right, above the chatter composer, click :guilabel:`Log note`." +#: ../../content/applications/productivity/data_cleaning.rst:238 +msgid "View discarded records by selecting the :guilabel:`Discarded` filter from the :ref:`search bar ` drop-down menu." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:112 -msgid "Enter the note in the chatter composer. To tag an internal user, type `@`, and begin typing the name of the person to tag. Then, select a name from the drop-down menu. Depending on their notification settings, the user is notified by email, or through Odoo." +#: ../../content/applications/productivity/data_cleaning.rst:244 +msgid "Recycle record rules" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:117 -msgid "Outside contacts can also be tagged in an internal log note. The contact then receives an email with the contents of the note they were tagged in, including any attachments added directly to the note. If they respond to the email, their response is logged in the chatter, and they are added to the record as a follower." +#: ../../content/applications/productivity/data_cleaning.rst:246 +msgid "The *Recycle Records Rules* set the conditions for how records are recycled." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:122 -msgid "Outside contacts are **not** able to log in to view the entire chatter thread, and are only notified of specific updates, based on their :ref:`follower subscription settings `, or when they are tagged directly." +#: ../../content/applications/productivity/data_cleaning.rst:248 +msgid "These rules can be configured for each model in the database, and with varying levels of specificity. To get started, navigate to :menuselection:`Data Cleaning app --> Configuration --> Recycle Records`." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:129 -msgid "Send messages" +#: ../../content/applications/productivity/data_cleaning.rst:253 +msgid "Recycle rules run once a day, by default, as part of a scheduled action cron (*Data Recycle: Clean Records*). However, each rule can be :ref:`run manually ` anytime." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:131 -msgid "Chatter composers can send messages to outside contacts, without having to leave the database, or open a different application. This makes it easy to communicate with potential customers in the *Sales* and *CRM* applications, or vendors in the *Purchase* app." +#: ../../content/applications/productivity/data_cleaning.rst:257 +msgid "By default, no recycle record rules exist. Click the :guilabel:`New` button to create a new rule." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:135 -msgid "To send a message, first navigate to a record. For example, to send a message from a *CRM* opportunity, navigate to :menuselection:`CRM app --> Sales --> My Pipeline`, and click on the Kanban card of an opportunity to open it. Then, at the top-right, above the chatter composer, click :guilabel:`Send message`." +#: ../../content/applications/productivity/data_cleaning.rst:259 +msgid "On the recycle record rule form, first choose a :guilabel:`Model` for this rule to target. Selecting a model updates the rule title to the chosen model." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:141 -msgid "Press :command:`Ctrl + Enter` to send a message, instead of using the :guilabel:`Send` button." +#: ../../content/applications/productivity/data_cleaning.rst:262 +msgid "Optionally, configure a :guilabel:`Filter` to specify the records eligible for this rule. The number of eligible records is shown in the :icon:`oi-arrow-right` :guilabel:`# record(s)` link." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:143 -msgid "If any :ref:`followers ` have been added to the record, they are added as recipients of the message." +#: ../../content/applications/productivity/data_cleaning.rst:265 +msgid "Next, configure the field and time range for how the rule detects the records to recycle:" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:147 -msgid ":ref:`Followers ` of a record are added as recipients of a message automatically. If a follower should **not** receive a message, they must be removed as a follower before the message is sent, or a note is logged." +#: ../../content/applications/productivity/data_cleaning.rst:267 +msgid ":guilabel:`Time Field`: select a field from the model to base the time (:dfn:`Delta`)." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:-1 -msgid "A chatter composer preparing to send a message to the followers of a CRM opportunity and\n" -"the customer listed on the opportunity record." +#: ../../content/applications/productivity/data_cleaning.rst:268 +msgid ":guilabel:`Delta`: type the length of time, which must be a whole number (e.g. `7`)." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:156 -msgid "Expand full composer" +#: ../../content/applications/productivity/data_cleaning.rst:269 +msgid ":guilabel:`Delta Unit`: select the unit of time (:guilabel:`Days`, :guilabel:`Weeks`, :guilabel:`Months`, or :guilabel:`Years`)." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:158 -msgid "The chatter composer can be expanded to a larger pop-up window, allowing for additional customizations." +#: ../../content/applications/productivity/data_cleaning.rst:272 +msgid "Then, select a :guilabel:`Recycle Mode`:" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:161 -msgid "To open the full composer, click the :icon:`fa-expand` :guilabel:`(expand)` icon in the bottom-right corner of the composer window." +#: ../../content/applications/productivity/data_cleaning.rst:274 +msgid ":guilabel:`Manual`: requires each detected record to be manually recycled, and enables the :guilabel:`Notify Users` field." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:167 -msgid "A chatter composer with emphasis on the expand icon." +#: ../../content/applications/productivity/data_cleaning.rst:276 +msgid ":guilabel:`Automatic`: automatically merges recycled groupings, without notifying users." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:167 -msgid "The expand icon in a chatter composer." +#: ../../content/applications/productivity/data_cleaning.rst:278 +msgid "Lastly, select a :guilabel:`Recycle Action` to either :guilabel:`Archive` or :guilabel:`Delete` records. If :guilabel:`Delete` is selected, choose whether or not to :guilabel:`Include Archived` records in the rule." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:169 -msgid "Doing this opens a :guilabel:`Compose Email` pop-up window. Confirm or edit the intended :guilabel:`Recipients` of the message, or add additional recipients. The :guilabel:`Subject` field auto-populates based on the title of the record, though it can be edited, if desired." +#: ../../content/applications/productivity/data_cleaning.rst:282 +msgid "With the rule's configuration complete, either close the rule form, or :ref:`run the rule manually ` to instantly capture records to recycle." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:173 -msgid "To use an :doc:`email template <../../general/companies/email_template/>` for the message, click the |ve| icon, then select a template from the list. Existing templates can also be overwritten or deleted from this menu." +#: ../../content/applications/productivity/data_cleaning.rst:286 +msgid "A recycle rule can be configured to delete archived leads and opportunities that were last updated a year ago, and with a specific lost reason, by using the following configuration:" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:178 -msgid "The number and type of templates available vary, based on the record the message is created from." +#: ../../content/applications/productivity/data_cleaning.rst:289 +msgid ":guilabel:`Model`: :guilabel:`Lead/Opportunity`" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:180 -msgid "Click :icon:`fa-paperclip` :guilabel:`(paperclip)` icon to add any files to the message, then click :guilabel:`Send`." +#: ../../content/applications/productivity/data_cleaning.rst:290 +msgid ":guilabel:`Filter`:" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:-1 -msgid "The expanded full chatter composer in the CRM application." +#: ../../content/applications/productivity/data_cleaning.rst:292 +msgid "`Active` `is` `not set`" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:187 -msgid "Generate text with AI" +#: ../../content/applications/productivity/data_cleaning.rst:293 +msgid "`Lost Reason` `is in` `Too expensive`" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:189 -msgid "To generate message text using AI, click the AI icon from the expanded chatter composer. This opens a :guilabel:`Generate Text with AI` pop-up." +#: ../../content/applications/productivity/data_cleaning.rst:295 +msgid ":guilabel:`Time Field`: :guilabel:`Last Updated on (Lead/Opportunity)`" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:192 -msgid "Enter a prompt in the :guilabel:`Send a message` field to instruct the AI on the type of content needed, then press enter, or click the :icon:`fa-paper-plane` :guilabel:`(paper plane)` icon." +#: ../../content/applications/productivity/data_cleaning.rst:296 +msgid ":guilabel:`Delta`: `1`" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:-1 -msgid "The generate text with AI popup." +#: ../../content/applications/productivity/data_cleaning.rst:297 +msgid ":guilabel:`Delta Unit`: :guilabel:`Years`" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:198 -msgid "After the text is generated, click :guilabel:`Insert` to insert the text into the message composer." +#: ../../content/applications/productivity/data_cleaning.rst:298 +msgid ":guilabel:`Recycle Mode`: :guilabel:`Automatic`" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:201 -msgid "Before sending the final message, be sure to edit any commentary from the AI, or any text in brackets." +#: ../../content/applications/productivity/data_cleaning.rst:299 +msgid ":guilabel:`Recycle Action`: :guilabel:`Delete`" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:0 -msgid "A draft of an email with text generated by AI." +#: ../../content/applications/productivity/data_cleaning.rst:300 +msgid ":guilabel:`Include Archived`: :icon:`fa-check-square`" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:208 -msgid "Edit sent messages" +#: ../../content/applications/productivity/data_cleaning.rst:0 +msgid "Recycle records rule form for a lead/opportunity." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:210 -msgid "Messages can be edited after they are sent, to fix typos, correct mistakes, or add missing information." +#: ../../content/applications/productivity/data_cleaning.rst:308 +msgid "Manually run a recycle rule" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:214 -msgid "When messages are edited after they have been sent, an updated message is **not** sent to the recipient." +#: ../../content/applications/productivity/data_cleaning.rst:310 +msgid "To manually run a specific recycle rule at any time, navigate to :menuselection:`Data Cleaning app --> Configuration --> Recycle Records`, and select the rule to run." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:217 -msgid "To edit a sent message, click the |ve| menu to the right of the message. Then, select :guilabel:`Edit`. Make any necessary adjustments to the message." +#: ../../content/applications/productivity/data_cleaning.rst:313 +msgid "Then, on the rule form, click the :guilabel:`Run Now` button on the top-left. Upon doing so, the :icon:`fa-bars` :guilabel:`Records` smart button displays the number of records captured." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:-1 -msgid "The edit message option in a chatter thread." +#: ../../content/applications/productivity/data_cleaning.rst:316 +msgid "Click the :icon:`fa-bars` :guilabel:`Records` smart button to :ref:`manage these records `." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:223 -msgid "To save the changes, press :command:`Ctrl + Enter`. To discard the changes, press :command:`Escape`." +#: ../../content/applications/productivity/data_cleaning.rst:322 +msgid "Field cleaning" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:226 -msgid "Users with Admin-level access rights can edit any sent messages. Users without Admin rights can **only** edit messages they created." +#: ../../content/applications/productivity/data_cleaning.rst:324 +msgid "Use the field cleaning feature to maintain consistent formatting of names, phone numbers, IDs and other fields throughout a database." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:232 -msgid "Search messages" +#: ../../content/applications/productivity/data_cleaning.rst:327 +msgid "The *Field Cleaning Records* dashboard displays formatting changes to data in fields of a record, to follow a convention set by the field cleaning rules." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:234 -msgid "Chatter threads can become long after a while, because of all the information they contain. To make it easier to find a specific entry, users can search the text of messages and notes for specific keywords." +#: ../../content/applications/productivity/data_cleaning.rst:330 +msgid "Navigate to this dashboard by going to :menuselection:`Data Cleaning app --> Field Cleaning`." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:238 -msgid "First, select a record with a chatter thread. For example, to search a *CRM* opportunity, navigate to :menuselection:`CRM app --> Sales --> My Pipeline`, and click on the Kanban card of an opportunity to open it. Then, at the top-right, above the chatter composer, click the :icon:`oi-search` :guilabel:`(search)` icon to open the search bar." +#: ../../content/applications/productivity/data_cleaning.rst:-1 +msgid "Field Cleaning Records dashboard in the Data Cleaning application." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:243 -msgid "Enter a keyword or phrase into the search bar, then hit :command:`Enter`, or click the :icon:`oi-search` :guilabel:`(search)` icon to the right of the search bar. Any messages or notes containing the keyword or phrase entered are listed below the search bar, with the keyword highlighted." +#: ../../content/applications/productivity/data_cleaning.rst:335 +msgid "The :guilabel:`CLEANING RULES` sidebar lists each of the active cleaning rules." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:248 -msgid "To be taken directly to a particular message in the chatter thread, hover over the upper-right corner of the result to reveal a :guilabel:`Jump` button. Click this button to be directed to that message's location in the thread." +#: ../../content/applications/productivity/data_cleaning.rst:337 +msgid "By default, the :guilabel:`All` rule is selected. Records are listed with the following columns:" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:255 -msgid "Search results in a chatter thread emphasising the search icon and the jump button." +#: ../../content/applications/productivity/data_cleaning.rst:341 +msgid ":guilabel:`Field`: the original record's field that contains the value to format." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:255 -msgid "Search results in a chatter thread. Hover over the upper-right corner of a result to see the **Jump** option. Click it to be taken directly to that message in the chatter thread." +#: ../../content/applications/productivity/data_cleaning.rst:342 +msgid ":guilabel:`Current`: the current value in the field of the original record." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:261 -msgid "Schedule activities" +#: ../../content/applications/productivity/data_cleaning.rst:343 +msgid ":guilabel:`Suggested`: the suggested formatted value in the field of the original record." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:263 -msgid "*Activities* are follow-up tasks tied to a record in an Odoo database. Activities can be scheduled on any database page that contains a chatter thread, Kanban view, list view, or activities view of an application." +#: ../../content/applications/productivity/data_cleaning.rst:345 +msgid "To clean and format records, click the :icon:`fa-check` :guilabel:`Validate` button on the row of the record." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:267 -msgid "To schedule an activity through a chatter thread, click the :guilabel:`Activities` button, located at the top of the chatter on any record. On the :guilabel:`Schedule Activity` pop-up window that appears, select an :guilabel:`Activity Type` from the drop-down menu." +#: ../../content/applications/productivity/data_cleaning.rst:348 +msgid "Upon doing so, the record is formatted and/or cleaned." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:272 -msgid "Individual applications have a list of *Activity Types* dedicated to that application. For example, to view and edit the activities available for the *CRM* application, go to :menuselection:`CRM app --> Configuration --> Activity Types`." +#: ../../content/applications/productivity/data_cleaning.rst:351 +msgid "Discard records by clicking the :icon:`fa-times` :guilabel:`Discard` button. Upon doing so, the record is hidden from the list and will not be detected by the field cleaning rule again in the future." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:276 -msgid "Enter a title for the activity in the :guilabel:`Summary` field, located in the :guilabel:`Schedule Activity` pop-up window." +#: ../../content/applications/productivity/data_cleaning.rst:355 +msgid "View discarded records by selecting the :guilabel:`Discarded` filter from the :ref:`search bar `." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:279 -msgid "Select a name from the :guilabel:`Assigned to` drop-down menu to assign the activity to a different user. Otherwise, the user creating the activity is automatically assigned." +#: ../../content/applications/productivity/data_cleaning.rst:361 +msgid "Field cleaning rules" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:282 -msgid "Add any additional information in the optional :guilabel:`Log a note...` field." +#: ../../content/applications/productivity/data_cleaning.rst:363 +msgid "The *Field Cleaning Rules* set the conditions for fields to be cleaned and/or formatted." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:285 -msgid "The :guilabel:`Due Date` field on the :guilabel:`Schedule Activity` pop-up window auto-populates based on the configuration settings for the selected :guilabel:`Activity Type`. However, this date can be changed by selecting a day on the calendar in the :guilabel:`Due Date` field." +#: ../../content/applications/productivity/data_cleaning.rst:365 +msgid "These rules can be configured for each model in the database, and with varying levels of specificity. To get started, navigate to :menuselection:`Data Cleaning app --> Configuration --> Field Cleaning`." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:289 -msgid "Lastly, click one of the following buttons:" +#: ../../content/applications/productivity/data_cleaning.rst:370 +msgid "The field cleaning rules run once every day, by default, as part of a scheduled action cron (*Data Cleaning: Clean Records*). However, each rule can be :ref:`ran manually ` anytime." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:291 -msgid ":guilabel:`Schedule`: adds the activity to the chatter under :guilabel:`Planned activities`." +#: ../../content/applications/productivity/data_cleaning.rst:374 +msgid "By default, a :guilabel:`Contact` rule exists to format and clean up the **Contacts** app records. Select the :guilabel:`Contact` record to make edits, or select the :guilabel:`New` button to create a new rule." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:292 -msgid ":guilabel:`Schedule & Mark as Done`: adds the details of the activity to the chatter under :guilabel:`Today`. The activity is added to :guilabel:`Today`, and is automatically marked as done." +#: ../../content/applications/productivity/data_cleaning.rst:378 +msgid "On the field cleaning rule form, first choose a :guilabel:`Model` for this rule to target. Selecting a model updates the rule title to the chosen model." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:295 -msgid ":guilabel:`Done \\& Schedule Next`: adds the task under :guilabel:`Today` marked as done, and opens a new activity window." +#: ../../content/applications/productivity/data_cleaning.rst:381 +msgid "Next, configure at least one rule by clicking :guilabel:`Add a line` in the :guilabel:`Rules` section." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:297 -msgid ":guilabel:`Cancel`: discards any changes made on the pop-up window." +#: ../../content/applications/productivity/data_cleaning.rst:384 +msgid "Upon doing so, a :guilabel:`Create Rules` popover window appears with the following fields to configure:" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:299 -msgid "Scheduled activities are added to the chatter for the record under :guilabel:`Planned activities`, and are color-coded based on their due date." +#: ../../content/applications/productivity/data_cleaning.rst:387 +msgid "Select a :guilabel:`Field To Clean` from the model to assign to an action." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:302 -msgid "**Red** icons indicate an overdue activity." +#: ../../content/applications/productivity/data_cleaning.rst:388 +msgid "Choose one of the following :guilabel:`Action` options:" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:303 -msgid "**Yellow** icons indicate an activity with a due date scheduled for the current date." +#: ../../content/applications/productivity/data_cleaning.rst:390 +msgid ":guilabel:`Trim Spaces` reveals the :guilabel:`Trim` field to select the :guilabel:`All Spaces` or :guilabel:`Superfluous Spaces` option. Leading, trailing, and successive spaces are considered superfluous." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:304 -msgid "**Green** icons indicate an activity with a due date scheduled in the future." +#: ../../content/applications/productivity/data_cleaning.rst:395 +msgid "The contact name `Dr. John Doe` can be formatted with the following :guilabel:`Trim` options:" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:-1 -msgid "A chatter thread with planned activities with varying due dates." +#: ../../content/applications/productivity/data_cleaning.rst:398 +msgid ":guilabel:`All Spaces`: `DR.JohnDoe`" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:310 -msgid "Click the :icon:`fa-info-circle` :guilabel:`(info)` icon next to a planned activity to see additional details." +#: ../../content/applications/productivity/data_cleaning.rst:399 +msgid ":guilabel:`Superfluous Spaces`: `DR. John Doe`" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:0 -msgid "A detailed view of a planned activity." +#: ../../content/applications/productivity/data_cleaning.rst:401 +msgid ":guilabel:`Set Type Case` reveals the :guilabel:`Case` field to select either :guilabel:`First Letters to Uppercase`, :guilabel:`All Uppercase`, or :guilabel:`All Lowercase`." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:316 -msgid "After completing an activity, click :guilabel:`Mark Done` under the activity entry in the chatter. This opens a :guilabel:`Mark Done` pop-up window, where additional notes about the activity can be entered. After adding any comments to the pop-up window, click: :guilabel:`Done \\& Schedule Next`, :guilabel:`Done`, or :guilabel:`Discard`." +#: ../../content/applications/productivity/data_cleaning.rst:405 +msgid "The lead/opportunity title `lumber inc, Lorraine douglas` can be formatted with the following :guilabel:`Case` options:" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:321 -msgid "After the activity is marked complete, an entry with the activity type, title, and any other details that were included in the pop-up window are listed in the chatter." +#: ../../content/applications/productivity/data_cleaning.rst:408 +msgid ":guilabel:`First Letters to Uppercase`: `Lumber Inc, Lorraine Douglas`" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:-1 -msgid "A chatter thread with a completed activity, included additional details." +#: ../../content/applications/productivity/data_cleaning.rst:409 +msgid ":guilabel:`All Uppercase`: `LUMBER INC, LORRAINE DOUGLAS`" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:330 -msgid "Attach files" +#: ../../content/applications/productivity/data_cleaning.rst:410 +msgid ":guilabel:`All Lowercase`: `lumber inc, lorraine douglas`" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:332 -msgid "Files can be added as attachments in the chatter, either to send with messages, or to include with a record." +#: ../../content/applications/productivity/data_cleaning.rst:412 +msgid ":guilabel:`Format Phone` converts the phone number to an international country format." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:336 -msgid "After a file has been added to a chatter thread, it can be downloaded by any user with access to the thread. Click the |paperclip| to make the files header visible, if necessary. Then, click the :icon:`fa-download` :guilabel:`(download)` icon the file to download it." +#: ../../content/applications/productivity/data_cleaning.rst:415 +msgid "Belgium: `061928374` :icon:`fa-long-arrow-right` `+32 61 92 83 74`" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:340 -msgid "To attach a file, click the |paperclip| located at the top of the chatter composer of any record that contains a chatter thread." +#: ../../content/applications/productivity/data_cleaning.rst:416 +msgid "United States: `800 555-0101` :icon:`fa-long-arrow-right` `+1 800-555-0101`" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:343 -msgid "This opens a file explorer pop-up window. Navigate to the desired file, select it, then click :guilabel:`Open` to add it to the record. Alternatively, files can be dragged and dropped directly onto a chatter thread." +#: ../../content/applications/productivity/data_cleaning.rst:418 +msgid ":guilabel:`Scrap HTML` converts :abbr:`HTML (HyperText Markup Language)` to plain text." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:347 -msgid "After files have been added, they are listed in the chatter thread, under a :guilabel:`Files` heading." +#: ../../content/applications/productivity/data_cleaning.rst:422 +msgid "HTML text" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:351 -msgid "After at least one file has been added to a chatter record, a new button labeled :guilabel:`Attach files` appears below the :guilabel:`Files` heading. To attach any additional files, this is the button that **must** be used, instead of the |paperclip| at the top of the chatter thread." +#: ../../content/applications/productivity/data_cleaning.rst:428 +msgid "Plain text" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:356 -msgid "After the :guilabel:`Files` section heading appears in the thread, clicking the |paperclip| no longer opens a file explorer pop-up window. Instead, clicking the |paperclip| toggles the :guilabel:`Files` section from visible to invisible in the chatter thread." +#: ../../content/applications/productivity/data_cleaning.rst:433 +msgid "Once a field and action are selected, click :guilabel:`Save` to close the :guilabel:`Create Rules` popover window." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:0 -msgid "A chatter thread with a file attached and the Attach files button added." +#: ../../content/applications/productivity/data_cleaning.rst:436 +msgid "Then, select a :guilabel:`Cleaning Mode`:" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:366 -msgid "Integrations" +#: ../../content/applications/productivity/data_cleaning.rst:438 +msgid ":guilabel:`Manual`: requires each detected field to be manually cleaned and enables the :guilabel:`Notify Users` field." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:368 -msgid "Beyond the standard features, additional integrations can be enabled to work with the chatter feature, specifically *WhatsApp* and *Google Translate*." +#: ../../content/applications/productivity/data_cleaning.rst:440 +msgid ":guilabel:`Automatic`: automatically cleans fields without notifying users." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:372 -msgid "Before the *WhatsApp* and *Google Translate* integrations can be used with the chatter, they **must** be configured. Step-by-step instructions on how to set-up each of these features can be found in the documentation below:" +#: ../../content/applications/productivity/data_cleaning.rst:442 +msgid "With the rule's configuration complete, either close the rule form, or :ref:`run the rule manually ` to instantly capture fields to clean." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:376 -#: ../../content/applications/productivity/discuss/chatter.rst:433 -msgid ":doc:`WhatsApp <../whatsapp>`" -msgstr "" - -#: ../../content/applications/productivity/discuss/chatter.rst:377 -msgid ":doc:`Google Translate <../../general/integrations/google_translate>`" +#: ../../content/applications/productivity/data_cleaning.rst:448 +msgid "Manually run a field cleaning rule" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:380 -#: ../../content/applications/productivity/whatsapp.rst:3 -msgid "WhatsApp" +#: ../../content/applications/productivity/data_cleaning.rst:450 +msgid "To manually run a specific field cleaning rule at any time, navigate to :menuselection:`Data Cleaning app --> Configuration --> Field Cleaning`, and select the rule to run." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:382 -msgid "*WhatsApp* is an instant messaging and voice-over-IP app that allows users to send and receive messages, as well as share content." +#: ../../content/applications/productivity/data_cleaning.rst:453 +msgid "Then, on the rule form, select the :guilabel:`Clean` button on the top-left. Upon doing so, the :icon:`fa-bars` :guilabel:`Records` smart button displays the number of records captured." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:386 -msgid "*WhatsApp* is an Odoo Enterprise-only application that does **not** work in the Odoo Community edition. To sign up for an Odoo Enterprise edition, click here: `Odoo Free Trial `_." +#: ../../content/applications/productivity/data_cleaning.rst:456 +msgid "Click on the :icon:`fa-bars` :guilabel:`Records` smart button to :ref:`manage these records `." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:390 -msgid "After *WhatsApp* has been configured and enabled within a database, a :guilabel:`WhatsApp` button is added above the chatter composer on any applicable record. If one or more approved *WhatsApp* templates are found for that model, clicking this button opens a :guilabel:`Send WhatsApp Message` pop-up window." +#: ../../content/applications/productivity/data_cleaning.rst:462 +msgid "Merge action manager" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:396 -msgid "*WhatsApp* templates **must** be approved before they can be used. See :ref:`WhatsApp templates ` for more information." +#: ../../content/applications/productivity/data_cleaning.rst:464 +msgid "The *Merge Action Manager* enables or disables the *Merge* action available in the *Actions* menu for models in the database." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:-1 -msgid "A send WhatsApp message pop-up window." +#: ../../content/applications/productivity/data_cleaning.rst:467 +msgid "Enable :ref:`developer-mode` and navigate to :menuselection:`Data Cleaning app --> Configuration --> Merge Action Manager`." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:403 -msgid "Google Translate" +#: ../../content/applications/productivity/data_cleaning.rst:470 +msgid "Models are listed with the following columns:" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:405 -msgid "*Google Translate* can be used to translate user-generated text in the Odoo chatter." +#: ../../content/applications/productivity/data_cleaning.rst:472 +msgid ":guilabel:`Model`: technical name of the model." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:407 -msgid "To enable *Google Translate* on a database, an *API key* must first :doc:`be created <../../general/integrations/google_translate>` through the `Google API Console `_." +#: ../../content/applications/productivity/data_cleaning.rst:473 +msgid ":guilabel:`Model Description`: display name of the model." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:411 -msgid "After creating the API key, navigate to the :menuselection:`Settings app --> Discuss section` and paste the key in the :guilabel:`Message Translation` field. Click :guilabel:`Save` to save the changes." +#: ../../content/applications/productivity/data_cleaning.rst:474 +msgid ":guilabel:`Type`: whether the model is of the *Base Object* or *Custom Object* type." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:416 -msgid "Translate a chatter message" +#: ../../content/applications/productivity/data_cleaning.rst:475 +msgid ":guilabel:`Transient Model`: the model handles temporary data that does not need to be stored long-term in the database." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:418 -msgid "To translate a user's text from another language, click the |ve| menu to the right of the chatter. Then, select :guilabel:`Translate`. The content translates to the language set in the :doc:`user's preferences <../../general/users/language/>`." +#: ../../content/applications/productivity/data_cleaning.rst:477 +msgid ":guilabel:`Can Be Merged`: enables the *Merge* action for the model." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:-1 -msgid "alt text" +#: ../../content/applications/productivity/data_cleaning.rst:479 +msgid "To view which models are enabled by default, use the :ref:`search bar ` to filter models that :guilabel:`Can Be Merged`." msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:426 -msgid "Using the *Google Translate* API **requires** a current billing account with `Google `_." +#: ../../content/applications/productivity/data_cleaning.rst:483 +msgid ":doc:`../essentials/contacts/merge`" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:431 -msgid ":doc:`Discuss Channels <../discuss/team_communication/>`" +#: ../../content/applications/productivity/discuss.rst:6 +msgid "Discuss" msgstr "" -#: ../../content/applications/productivity/discuss/chatter.rst:432 -msgid ":doc:`Activities <../../essentials/activities>`" +#: ../../content/applications/productivity/discuss.rst:8 +msgid "Odoo **Discuss** is an internal communication app that allows users to connect through messages, notes, file sharing, and video calls. **Discuss** enables communication through a persistent chat window that works across applications, or through the dedicated *Discuss* dashboard." msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:3 -msgid "Configure ICE servers with Twilio" +#: ../../content/applications/productivity/discuss.rst:12 +msgid "Upon opening the :menuselection:`Discuss app`, the :guilabel:`Discuss` dashboard appears." msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:5 -msgid "Odoo Discuss uses WebRTC API and peer-to-peer connections for voice and video calls. If one of the call attendees is behind a symmetric NAT, you need to configure an ICE server to establish a connection to the call attendee. To set up an ICE server, first, create a Twilio account for video calls, and then, connect that Twilio account to Odoo." +#: ../../content/applications/productivity/discuss.rst:15 +msgid "Inbox, starred, and history" msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:11 -msgid "Create a Twilio account" +#: ../../content/applications/productivity/discuss.rst:17 +msgid "Upon opening the :menuselection:`Discuss app`, the *Discuss* dashboard appears." msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:13 -msgid "First, go to `Twilio `_ and click :guilabel:`Sign up` to create a new Twilio account. Next, enter your name and email address, create a password, and accept Twilio's terms of service. Then, click :guilabel:`Start your free trial`. Verify your email address with Twilio, as per their instructions." +#: ../../content/applications/productivity/discuss.rst:19 +msgid "On the :guilabel:`Discuss` dashboard, unread messages are visible in the :icon:`fa-inbox` :guilabel:`Inbox`. :icon:`fa-star-o` :guilabel:`Starred` is where starred messages are stored. :icon:`fa-history` :guilabel:`History` shows chatter updates for records in the Odoo database the user has been assigned to, or tagged on." msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:18 -msgid "Next, enter your phone number into Twilio. Then, Twilio will send you an SMS text message containing a verification code. Enter the verification code into Twilio to verify your phone number." +#: ../../content/applications/productivity/discuss.rst:25 +msgid "Direct messages" msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:22 -msgid "After that, Twilio redirects to a welcome page. Use the following list to answer Twilio's questions:" +#: ../../content/applications/productivity/discuss.rst:27 +msgid "*Direct messages* allow the user to communicate privately with one or multiple team members. To start a new direct message, click the :icon:`fa-plus` icon, next to :guilabel:`Direct Messages` on the :guilabel:`Discuss` dashboard, and enter the name of the desired person in the :guilabel:`Start a conversation` search bar that appears." msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:25 -msgid "For :guilabel:`Which Twilio product are you here to use?`, select :guilabel:`Video`." +#: ../../content/applications/productivity/discuss.rst:33 +msgid "Multiple names can be selected in the :guilabel:`Start a conversation` search bar. Once all of the names have been entered, press :kbd:`Enter`." msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:26 -msgid "For :guilabel:`What do you plan to build with Twilio?`, select :guilabel:`Other`." +#: ../../content/applications/productivity/discuss.rst:37 +msgid "Direct message actions" msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:27 -msgid "For :guilabel:`How do you want to build with Twilio?`, select :guilabel:`With no code at all`." +#: ../../content/applications/productivity/discuss.rst:39 +msgid "Hover over a direct message in the chat window to see a menu of actions to take on the message." msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:28 -msgid "For :guilabel:`What is your goal today?`, select :guilabel:`3rd party integrations`." +#: ../../content/applications/productivity/discuss.rst:41 +msgid ":icon:`oi-smile-add` :guilabel:`(Add a Reaction)`: open a drop-down menu of emojis that can be used to react to the direct message." msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:-1 -msgid "The Twilio welcome page." +#: ../../content/applications/productivity/discuss.rst:43 +msgid ":icon:`fa-reply` :guilabel:`(Reply)`: reply to the direct message in a thread." msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:34 -msgid "If necessary, change the billing country. Finally, click :guilabel:`Get Started with Twilio`." +#: ../../content/applications/productivity/discuss.rst:44 +msgid ":icon:`fa-star-o` :guilabel:`(Mark as Todo)`: add the message to the :guilabel:`Starred` tab." msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:37 -msgid "Locate the Twilio Account SID and Auth Token" +#: ../../content/applications/productivity/discuss.rst:45 +msgid ":icon:`fa-ellipsis-h` :guilabel:`(Expand)`: reveals more message actions, including:" msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:39 -msgid "To locate the Account SID and Auth Token, go to the Twilio account dashboard. Then, click :guilabel:`Develop` on the sidebar. In the :guilabel:`Account Info` section, locate the :guilabel:`Account SID` and the :guilabel:`Auth Token`. Both of these are needed to connect Twilio to Odoo." +#: ../../content/applications/productivity/discuss.rst:47 +msgid ":icon:`fa-thumb-tack` :guilabel:`Pin`" msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:-1 -msgid "The Twilio Account SID and Auth Token can be found uner the Account Info section." +#: ../../content/applications/productivity/discuss.rst:48 +msgid ":icon:`fa-eye-slash` :guilabel:`Mark as Unread`" msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:49 -msgid "Connect Twilio to Odoo" +#: ../../content/applications/productivity/discuss.rst:49 +msgid ":icon:`fa-pencil` :guilabel:`Edit`" msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:51 -msgid "Open the Odoo database and go to :menuselection:`Settings --> General Settings --> Discuss`. Check the box next to :guilabel:`Use Twilio ICE servers` and enter the Twilio account's :guilabel:`Account SID` and :guilabel:`Auth Token`. Finally, click :guilabel:`Save` to apply these changes." +#: ../../content/applications/productivity/discuss.rst:50 +msgid ":icon:`fa-trash` :guilabel:`Delete`" msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:-1 -msgid "Enable the \"Use Twilio ICE servers\" option in Odoo General Settings." +#: ../../content/applications/productivity/discuss.rst:53 +msgid "Conversation actions" msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:61 -msgid "Define a list of custom ICE servers" +#: ../../content/applications/productivity/discuss.rst:55 +msgid "The icons in the top-right corner of a direct message conversation represent different actions the user can take on that conversation." msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:63 -msgid "This step is not required for the Twilio configuration. However, if Twilio is not configured or is not working at any given moment, Odoo will fall back on the custom ICE servers list. The user must define the list of custom ICE servers." +#: ../../content/applications/productivity/discuss.rst:58 +msgid "Click :icon:`fa-bell` :guilabel:`Notification Settings` to set up notification preferences for the conversation, or click :icon:`fa-phone` :guilabel:`Start a Call` to begin a meeting. See the :ref:`Meetings ` section for more information about meetings." msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:67 -msgid "In :menuselection:`Settings --> General Settings --> Discuss`, click the :guilabel:`ICE Servers` button under :guilabel:`Custom ICE server list`." +#: ../../content/applications/productivity/discuss.rst:62 +msgid "At the top of the direct message window, click the name of the direct message to change the group name, and choose to add a description in the adjacent :guilabel:`Add a description` field." msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:-1 -msgid "The \"ICE Servers\" button in Odoo General Settings." +#: ../../content/applications/productivity/discuss.rst:-1 +msgid "View of the conversation actions." msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:74 -msgid "Odoo will redirect to the :guilabel:`ICE servers` page. Here you can define your own list of ICE servers." +#: ../../content/applications/productivity/discuss.rst:70 +msgid "The :guilabel:`Add a description` field is **only** available for group messages with more than two participants." msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:-1 -msgid "The \"ICE servers\" page in Odoo." +#: ../../content/applications/productivity/discuss.rst:74 +msgid "User status" msgstr "" -#: ../../content/applications/productivity/discuss/ice_servers.rst:82 -msgid "For on-premise instances of Odoo, the package `python3-gevent` is necessary for the Discuss module to run calls/video calls on Ubuntu (Linux) servers." +#: ../../content/applications/productivity/discuss.rst:76 +msgid "It is helpful to see what colleagues are up to, and how quickly they can respond to messages, by checking their status. The status is displayed as a circle in the bottom-right corner of a contact's photo in the :icon:`fa-users` :guilabel:`(Members List)`." msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:3 -msgid "Use channels for team communication" +#: ../../content/applications/productivity/discuss.rst:80 +msgid "The color of the circle represents the user's status:" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:5 -msgid "Use channels in the Odoo **Discuss** app to organize discussions between individual teams, departments, projects, or any other group that requires regular communication. With channels, employees can communicate inside dedicated spaces within the Odoo database around specific topics, updates, and latest developments having to do with the organization." +#: ../../content/applications/productivity/discuss.rst:82 +msgid "Green = online" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:11 -msgid "Create a new channel" +#: ../../content/applications/productivity/discuss.rst:83 +msgid "Orange = away" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:13 -msgid "To create a new channel, navigate to the :menuselection:`Discuss` app, and then click on the :icon:`fa-plus` :guilabel:`(plus)` icon next to the :guilabel:`Channels` heading in the left-side menu." +#: ../../content/applications/productivity/discuss.rst:84 +msgid "White = offline" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:-1 -msgid "View of discuss's sidebar and a channel being created in Odoo Discuss." +#: ../../content/applications/productivity/discuss.rst:85 +msgid "Airplane = out of the office" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:20 -msgid "The channel's :guilabel:`Group Name`, :guilabel:`Description`, and :guilabel:`Privacy` settings can be modified by clicking on the channel's settings, represented by a :icon:`fa-cog` :guilabel:`(gear)` icon in the left sidebar menu, next to the channel's name." +#: ../../content/applications/productivity/discuss.rst:88 +msgid "Leave a direct message conversation" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:25 -msgid "Privacy tab" +#: ../../content/applications/productivity/discuss.rst:90 +msgid "To leave a direct message conversations, click the :icon:`fa-times` :guilabel:`(Leave this channel)` icon next to the conversation name in the :guilabel:`Direct Messages` section of the sidebar." msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:27 -msgid "To control which users can join a channel, open the channel's setting page and navigate to the :guilabel:`Privacy` tab." +#: ../../content/applications/productivity/discuss.rst:94 +msgid "Leaving a conversation does **not** delete the direct messages in the conversation. The direct message conversation's history is visible when another direct message with the same person, or group, is created." msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:-1 -msgid "View of a channel's settings form in Odoo Discuss." +#: ../../content/applications/productivity/discuss.rst:101 +msgid "Meetings" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:33 -msgid "To limit access of the channel to a specific group, select an option from the :guilabel:`Authorized Group` drop-down menu." +#: ../../content/applications/productivity/discuss.rst:103 +msgid "In **Discuss**, *Meetings* are video calls. To start a meeting from the :guilabel:`Discuss` dashboard, click :guilabel:`Start a meeting` in the top-left corner, and select who to invite to the meeting, via the :guilabel:`Invite People` drop-down window that appears. To start a meeting from a direct message, click the :icon:`fa-phone` :guilabel:`Start a Call` icon in the top-right corner." msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:36 -msgid "To automatically add members of a group as followers of the channel, click the :guilabel:`Auto Subscribe Groups` field, and select one or more groups from the list." +#: ../../content/applications/productivity/discuss.rst:-1 +msgid "View of a Meeting in Odoo Discuss." msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:40 -msgid "Users who are automatically added as followers can manually edit their subscription to the channel, if necessary." +#: ../../content/applications/productivity/discuss.rst:111 +msgid "Once a meeting has been started, the following buttons can be used:" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:43 -msgid "The option to :guilabel:`Auto Subscribe Groups` automatically adds users of that particular user group as followers. In other words, while :guilabel:`Authorized Groups` limits which users can access the channel, :guilabel:`Auto Subscribe Groups` automatically adds users as members as long as they are part of a specific user group. The same is true for :guilabel:`Auto Subscribe Departments`." +#: ../../content/applications/productivity/discuss.rst:114 +msgid "Icon" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:49 -msgid "Invite members to a channel" +#: ../../content/applications/productivity/discuss.rst:114 +#: ../../content/applications/productivity/knowledge.rst:99 +#: ../../content/applications/productivity/knowledge.rst:295 +#: ../../content/applications/productivity/knowledge.rst:317 +msgid "Use" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:51 -msgid "To invite members to a channel, click on the :guilabel:`Members` tab. Click :guilabel:`Add a line`, then select either a :guilabel:`Partner` or :guilabel:`Guest` from the drop-down menu." +#: ../../content/applications/productivity/discuss.rst:116 +msgid ":icon:`fa-microphone`" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:54 -msgid "Inviting members can also be done from the **Discuss** app's main dashboard, by selecting the channel, clicking the :icon:`fa-user-plus` :guilabel:`(add user)` icon in the top-right corner of the dashboard, and finally clicking :guilabel:`Invite to Channel` once all the users have been added." +#: ../../content/applications/productivity/discuss.rst:116 +msgid ":guilabel:`Mute`" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:-1 -msgid "View of Discuss' option to invite members in Odoo Discuss." +#: ../../content/applications/productivity/discuss.rst:118 +msgid ":icon:`fa-microphone-slash`" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:63 -msgid "Quick search bar" +#: ../../content/applications/productivity/discuss.rst:118 +msgid ":guilabel:`Unmute`" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:65 -msgid "Once at least 20 channels, direct messages, or live chat conversations are pinned in the sidebar, a :guilabel:`Quick search…` bar is displayed. This feature is a convenient way to filter conversations and find relevant communications." +#: ../../content/applications/productivity/discuss.rst:120 +msgid ":icon:`fa-headphones`" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:-1 -msgid "View of the Discuss' sidebar emphasizing the quick search bar in Odoo Discuss." +#: ../../content/applications/productivity/discuss.rst:120 +msgid ":guilabel:`Deafen`" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:73 -msgid "Finding channels" +#: ../../content/applications/productivity/discuss.rst:122 +msgid ":icon:`fa-deaf`" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:75 -msgid "To view all available channels, click on the :icon:`fa-cog` :guilabel:`(gear)` icon to the right of the :guilabel:`CHANNELS` menu. Users can join or leave channels on this screen by clicking the :guilabel:`Join` or :guilabel:`Leave` buttons that appear in the channel boxes." +#: ../../content/applications/productivity/discuss.rst:122 +msgid ":guilabel:`Undeafen`" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:79 -msgid "There is also the ability to apply filtering criteria and save them for later use. The :guilabel:`Search...` function accepts wildcards by using the underscore character [ `_` ], and specific searches can be saved by using the :menuselection:`Favorites --> Save Current Search` drop-down menu." +#: ../../content/applications/productivity/discuss.rst:124 +msgid ":icon:`fa-video-camera`" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:85 -msgid "Linking channel in chatter" +#: ../../content/applications/productivity/discuss.rst:124 +msgid ":guilabel:`Turn camera on/off`" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:87 -msgid "Channels can be linked in the *chatter* of a record to share relvant discussions. To do so, type: `#` and the channel name. Click or press enter on the *Channel* name. Upon logging the note a link to the channel appears. After clicking on the link a chat window with the channel conversation pops up in the lower right corner of the screen." +#: ../../content/applications/productivity/discuss.rst:126 +msgid ":icon:`fa-hand-paper-o`" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:92 -msgid "Users are able to contribute to this group channel by typing messages in window and pressing *enter*." +#: ../../content/applications/productivity/discuss.rst:126 +msgid ":guilabel:`Raise Hand`" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:-1 -msgid "Channel linked in chatter." +#: ../../content/applications/productivity/discuss.rst:128 +msgid ":icon:`fa-desktop`" msgstr "" -#: ../../content/applications/productivity/discuss/team_communication.rst:99 -msgid ":doc:`../discuss`" +#: ../../content/applications/productivity/discuss.rst:128 +msgid ":guilabel:`Share Screen`" msgstr "" -#: ../../content/applications/productivity/documents.rst:3 -msgid "Documents" +#: ../../content/applications/productivity/discuss.rst:130 +msgid ":icon:`fa-arrows-alt`" msgstr "" -#: ../../content/applications/productivity/documents.rst:5 -msgid "**Odoo Documents** allows you to store, view, and manage files within Odoo." +#: ../../content/applications/productivity/discuss.rst:130 +msgid ":guilabel:`Enter Full Screen`" msgstr "" -#: ../../content/applications/productivity/documents.rst:7 -msgid "Folders and documents are organized into sections accessible from the tree on the left. The following sections are available:" +#: ../../content/applications/productivity/discuss.rst:136 +msgid "User-specific notification preferences" msgstr "" -#: ../../content/applications/productivity/documents.rst:10 -msgid ":guilabel:`All`: displays all folders and files the user has access to." +#: ../../content/applications/productivity/discuss.rst:138 +msgid "Access user-specific preferences for the **Discuss** app by navigating to :menuselection:`Settings app --> Manage Users`, select a user, then click the :guilabel:`Preferences` tab." msgstr "" -#: ../../content/applications/productivity/documents.rst:11 -msgid ":icon:`fa-building` :guilabel:`Company`: contains folders and files shared across the company. Access is determined by the :ref:`access rights ` defined for the folder and file." +#: ../../content/applications/productivity/discuss.rst:-1 +msgid "View of the Preferences tab for Odoo Discuss." msgstr "" -#: ../../content/applications/productivity/documents.rst:14 -msgid ":icon:`fa-hdd-o` :guilabel:`My Drive`: the user's personal workspace for organizing and accessing files and folders they own or have uploaded." +#: ../../content/applications/productivity/discuss.rst:144 +msgid "By default, the :guilabel:`Notification` field is set as :guilabel:`Handle by Emails`. With this setting enabled, a notification email is sent by Odoo every time a message is sent from the chatter of a record, a note is sent with an `@` mention (from the chatter of a record), or a notification is sent for a record the user follows." msgstr "" -#: ../../content/applications/productivity/documents.rst:16 -msgid ":icon:`fa-users` :guilabel:`Shared with me`: includes files that have been shared with the user but are not part of any parent folder they have access to." +#: ../../content/applications/productivity/discuss.rst:149 +msgid "By choosing :guilabel:`Handle in Odoo`, the above notifications are shown in the **Discuss** app's *Inbox*." msgstr "" -#: ../../content/applications/productivity/documents.rst:18 -msgid ":icon:`fa-clock-o` :guilabel:`Recent`: shows recently modified files the user has permission to view or edit." +#: ../../content/applications/productivity/discuss.rst:153 +msgid "Chat from different applications" msgstr "" -#: ../../content/applications/productivity/documents.rst:20 -msgid ":icon:`fa-trash` :guilabel:`Trash`: stores :ref:`deleted files and folders `." +#: ../../content/applications/productivity/discuss.rst:155 +msgid "The **Discuss** application enables communication across all of Odoo's applications. To view chats and channels, or start a new message, select the speech bubbles that are consistently present in the upper-right corner of the database header." msgstr "" -#: ../../content/applications/productivity/documents.rst:22 -msgid "Click a section in the tree to view its contents. Select a folder to open it, :ref:`manage it `, and access its files." +#: ../../content/applications/productivity/discuss.rst:-1 +msgid "Use Discuss across other applications by clicking the speech bubbles." msgstr "" -#: ../../content/applications/productivity/documents.rst:25 -msgid "Click a file to open it and :ref:`take available actions `. To close the file, press **Esc** or click the :icon:`fa-remove` (:guilabel:`close`) icon. You can also drag and drop a file or folder to move it to another folder or section." +#: ../../content/applications/productivity/discuss.rst:163 +msgid ":doc:`discuss/team_communication`" msgstr "" -#: ../../content/applications/productivity/documents.rst:30 -msgid "Use the :ref:`search bar ` to quickly find specific items." +#: ../../content/applications/productivity/discuss.rst:164 +#: ../../content/applications/productivity/discuss/team_communication.rst:100 +msgid ":doc:`/applications/essentials/activities`" msgstr "" -#: ../../content/applications/productivity/documents.rst:31 -msgid "The :doc:`chatter ` tracks changes to folders and files and allows communication with internal users and external contacts. Click the :icon:`fa-info-circle` (:guilabel:`Info & Tags`) button in the upper-right corner next to the view to access it." +#: ../../content/applications/productivity/discuss.rst:165 +msgid ":doc:`discuss/ice_servers`" msgstr "" -#: ../../content/applications/productivity/documents.rst:36 -msgid ":doc:`Sign documentation `" +#: ../../content/applications/productivity/discuss.rst:166 +msgid ":doc:`discuss/chatter`" msgstr "" -#: ../../content/applications/productivity/documents.rst:44 -msgid "Deletion delay" +#: ../../content/applications/productivity/discuss/canned_responses.rst:3 +msgid "Canned responses" msgstr "" -#: ../../content/applications/productivity/documents.rst:46 -msgid "By default, items moved to the trash remain there for 30 days before being permanently deleted. To adjust this delay, go to :menuselection:`Documents --> Configuration --> Settings` and edit the :guilabel:`Deletion delay (days)` field." +#: ../../content/applications/productivity/discuss/canned_responses.rst:5 +msgid "*Canned responses* are customizable inputs where a typed shortcut populates a longer response. A user enters a keyword shortcut, which is then automatically replaced by the expanded substitution response. Canned responses save time by allowing users to use shorthand phrases to populate longer messages. This also limits the possibility of errors when typing out longer messages because these are pre-set messages. This maintains consistency throughout customer interactions." msgstr "" -#: ../../content/applications/productivity/documents.rst:53 -msgid "File centralization" +#: ../../content/applications/productivity/discuss/canned_responses.rst:11 +msgid "Canned responses consist of two main components: the *shortcut* and the *substitution*. The shortcut is the keyword or key phrase that is to be replaced. The substitution is the longer message that replaces the shortcut." msgstr "" -#: ../../content/applications/productivity/documents.rst:55 -msgid "Enabling file centralization for a specific app automatically organizes all associated files into dedicated folders. To do so, go to :menuselection:`Documents --> Configuration --> Settings`. For example, enabling :guilabel:`Human Resources` makes HR documents automatically available in the :guilabel:`HR` folder, while documents related to Payroll are automatically available in the :guilabel:`Payroll` sub-folder. Select the desired folder from the dropdown list and select the :ref:`Tags ` to be added to the relevant files." +#: ../../content/applications/productivity/discuss/canned_responses.rst:-1 +msgid "A live chat conversation using a canned response." msgstr "" -#: ../../content/applications/productivity/documents.rst:63 -msgid "When centralizing accounting files, click :guilabel:`Journals` to configure specific sub-folders for individual journals." +#: ../../content/applications/productivity/discuss/canned_responses.rst:18 +msgid "Canned responses are available :ref:`to use ` in **Live Chat** conversations, the **Discuss** app, and the *Chatter*. Canned responses are also available in direct message conversations, channel conversations, and *WhatsApp* messages." msgstr "" -#: ../../content/applications/productivity/documents.rst:67 -msgid "Changing the folder or tags does not affect existing files; the changes will apply only to newly created ones." +#: ../../content/applications/productivity/discuss/canned_responses.rst:25 +msgid "Creating canned responses" msgstr "" -#: ../../content/applications/productivity/documents.rst:69 -msgid "If file centralization is enabled for an app, deleting a record in that app moves its attachments to the trash in the Documents app." +#: ../../content/applications/productivity/discuss/canned_responses.rst:27 +msgid "Canned responses are managed through the **Discuss** application. To create a new canned response, or manage the list of existing responses, navigate to :menuselection:`Discuss app --> Configuration --> Canned Responses`." msgstr "" -#: ../../content/applications/productivity/documents.rst:75 -msgid "Folders" +#: ../../content/applications/productivity/discuss/canned_responses.rst:31 +msgid "Then, to create a new canned response, click :guilabel:`New` at the top-left of the list. Doing so reveals a new blank line in the list." msgstr "" -#: ../../content/applications/productivity/documents.rst:77 -msgid "You can organize files in folders available in the :icon:`fa-building` :guilabel:`Company` or :icon:`fa-hdd-o` :guilabel:`My Drive` sections." +#: ../../content/applications/productivity/discuss/canned_responses.rst:34 +msgid "Canned responses consist of two main components, a *shortcut* the user enters, and the *substitution* that replaces the shortcut." msgstr "" -#: ../../content/applications/productivity/documents.rst:80 -msgid "To create a folder, select the desired section in the tree, click :guilabel:`New`, and select :guilabel:`Folder`. In the pop-up, enter the folder's :guilabel:`Name` and click :guilabel:`Save`. To create a sub-folder, select the parent folder first, then follow the same steps." +#: ../../content/applications/productivity/discuss/canned_responses.rst:-1 +msgid "A list of canned responses emphasizing the shortcut and substitution fields." msgstr "" -#: ../../content/applications/productivity/documents.rst:85 -msgid "Some folders and sub-folders are created automatically based on the :ref:`file centralization settings `." +#: ../../content/applications/productivity/discuss/canned_responses.rst:40 +msgid "Type a shortcut command in the :guilabel:`Shortcut` field. Next, click on the :guilabel:`Substitution` field, and type the message that will replace the shortcut." msgstr "" -#: ../../content/applications/productivity/documents.rst:88 -msgid "To manage a folder or sub-folder, select it and click the :icon:`fa-cog` (:guilabel:`Actions`) icon above the tree. The following options are available in the menu:" +#: ../../content/applications/productivity/discuss/canned_responses.rst:44 +msgid "Try to connect the shortcut to the topic of the substitution. Not only does this make it easier to use the responses, it prevents the list of responses from becoming disorganized and overwhelming." msgstr "" -#: ../../content/applications/productivity/documents.rst:91 -msgid ":icon:`fa-download` :guilabel:`Download`: Download the folder as a .zip file, including its files and sub-folders." +#: ../../content/applications/productivity/discuss/canned_responses.rst:48 +msgid "The :guilabel:`Created by` field automatically populates with the name of the user that creates a new response. This field cannot be edited." msgstr "" -#: ../../content/applications/productivity/documents.rst:93 -msgid ":icon:`fa-pencil-square-o` :guilabel:`Rename`: Modify the folder's name." +#: ../../content/applications/productivity/discuss/canned_responses.rst:51 +msgid "To :ref:`share ` this response with other users, select one or more groups in the :guilabel:`Authorized Group` field that should have access." msgstr "" -#: ../../content/applications/productivity/documents.rst:94 -msgid ":icon:`fa-share-alt` :guilabel:`Share`: :ref:`Share the folder or manage its access rights `." +#: ../../content/applications/productivity/discuss/canned_responses.rst:55 +msgid "If the :guilabel:`Authorized Group` field is left blank, the response can **only** be used by the user that created it." msgstr "" -#: ../../content/applications/productivity/documents.rst:96 -msgid ":icon:`fa-external-link-square` :guilabel:`Add shortcut`: This option is only available for sub-folders and allows to create a shortcut to a sub-folder." +#: ../../content/applications/productivity/discuss/canned_responses.rst:58 +msgid "Canned responses created by the database are automatically credited as created by *OdooBot*. They must be assigned to an *authorized group* before they can be used by **any** users. To view the responses created by *OdooBot*, navigate to :menuselection:`Discuss app --> Configuration --> Canned Responses`." msgstr "" -#: ../../content/applications/productivity/documents.rst:99 -#: ../../content/applications/productivity/documents.rst:172 -msgid "If you have editing permissions, the shortcut is created in the same folder." +#: ../../content/applications/productivity/discuss/canned_responses.rst:63 +msgid "Lastly, the :guilabel:`Last Used` field keeps track of the date and time each response was most recently used. This field cannot be edited." msgstr "" -#: ../../content/applications/productivity/documents.rst:100 -#: ../../content/applications/productivity/documents.rst:173 -msgid "If you don't have editing permissions, the shortcut appears in the :icon:`fa-hdd-o` :guilabel:`My Drive` section." +#: ../../content/applications/productivity/discuss/canned_responses.rst:69 +msgid "Share responses" msgstr "" -#: ../../content/applications/productivity/documents.rst:103 -#: ../../content/applications/productivity/documents.rst:176 -msgid "You can then drag and drop it into the desired folder." +#: ../../content/applications/productivity/discuss/canned_responses.rst:71 +msgid "Canned responses, by default, are made available **only** to the user who creates them. To make a canned response available for others to use, they need to be shared." msgstr "" -#: ../../content/applications/productivity/documents.rst:104 -msgid ":icon:`fa-star-o` :guilabel:`Add star`: Mark a folder as a favorite for quicker access. This setting is user-specific and does not affect other users' workspaces. You can then use the :ref:`Starred filter ` to navigate to your favorite folders quickly." +#: ../../content/applications/productivity/discuss/canned_responses.rst:75 +msgid "Users with *Administrator* access rights can view and edit canned responses created by other users through the **Discuss** app. However, they are **only** able to use them if they are included in an authorized group that has been designated on that canned responses item line, located on the :guilabel:`Canned Responses` page." msgstr "" -#: ../../content/applications/productivity/documents.rst:107 -msgid ":icon:`fa-info-circle` :guilabel:`Info & Tags`: View the folder's :ref:`details ` and chatter." +#: ../../content/applications/productivity/discuss/canned_responses.rst:80 +msgid "Access to shared responses is granted on the :ref:`groups ` level." msgstr "" -#: ../../content/applications/productivity/documents.rst:109 -msgid ":icon:`fa-trash` :guilabel:`Move to trash`: Move the folder and its content to the :ref:`trash `." +#: ../../content/applications/productivity/discuss/canned_responses.rst:82 +msgid "To view the *Groups* a user is a member of, first enable :ref:`Developer mode `, then navigate to :menuselection:`Settings app --> Users & Companies --> Users`. Select a user from the list, and click to open their :guilabel:`User Record`. Then, click the :guilabel:`Groups` smart button at the top of the page." msgstr "" -#: ../../content/applications/productivity/documents.rst:111 -msgid ":icon:`fa-cog` :guilabel:`Actions on Select`: Define the server actions that are available (as buttons) for the files in the folder. Click an action to add or remove it. Click :guilabel:`Add Custom Action` to :ref:`create a new one `." +#: ../../content/applications/productivity/discuss/canned_responses.rst:88 +msgid "To view a list of users in a specific group, first enable :doc:`Developer mode <../../general/developer_mode/>`. Next, navigate to :menuselection:`Settings app --> Users & Companies --> Groups`. Select a group from the list, then click to open the :guilabel:`Group Record`. A list of users is included on the :guilabel:`Users` tab." msgstr "" -#: ../../content/applications/productivity/documents.rst:114 -msgid ":icon:`fa-cog` :guilabel:`Automations`: Create :doc:`automation rules `." +#: ../../content/applications/productivity/discuss/canned_responses.rst:93 +msgid "After determining what groups should have access to a response, they **must** :ref:`be added ` to the :guilabel:`Authorized Groups` field for each canned response." msgstr "" -#: ../../content/applications/productivity/documents.rst:118 -msgid "Setting up automation rules requires activating :doc:`/applications/studio`, which may impact your `pricing plan `_." +#: ../../content/applications/productivity/discuss/canned_responses.rst:98 +msgid "The user who created the response can use it, even if they are not a member of one of the *Authorized Groups*." msgstr "" -#: ../../content/applications/productivity/documents.rst:124 -msgid "Files" +#: ../../content/applications/productivity/discuss/canned_responses.rst:104 +msgid "Use a canned response" msgstr "" -#: ../../content/applications/productivity/documents.rst:126 -msgid "To upload a file, select the desired folder in the tree, click :guilabel:`New`, and select :guilabel:`Upload`." +#: ../../content/applications/productivity/discuss/canned_responses.rst:106 +msgid "To use a canned response in a conversation, click the :icon:`fa-plus-circle` :guilabel:`(plus)` icon in the message window. Then, click :guilabel:`Insert a Canned Response`. This opens a list of available canned responses. Either select a response from the list, or type the appropriate shortcut, then click the :icon:`fa-paper-plane` :guilabel:`(send)` icon or hit :kbd:`Enter`." msgstr "" -#: ../../content/applications/productivity/documents.rst:130 -msgid "On Odoo Online databases, each uploaded file must not exceed 64MB." +#: ../../content/applications/productivity/discuss/canned_responses.rst:112 +msgid "Typing `::` in the *Chatter* composer, or chat window, on its own generates a drop-down list of available canned responses. A response can be selected from the list, in addition to the use of shortcuts." msgstr "" -#: ../../content/applications/productivity/documents.rst:131 -msgid "You can also drag and drop a file from your computer to the desired folder within the Documents app." +#: ../../content/applications/productivity/discuss/canned_responses.rst:116 +msgid "To search through the list of available responses, type `::`, followed by the first few letters of the shortcut." msgstr "" -#: ../../content/applications/productivity/documents.rst:135 -msgid "URL links" +#: ../../content/applications/productivity/discuss/canned_responses.rst:0 +msgid "A live chat window with a list of all available canned responses." msgstr "" -#: ../../content/applications/productivity/documents.rst:137 -msgid "To add a link to a URL (e.g., a video) and make it accessible from a folder, click :guilabel:`New` and select :guilabel:`Link`. Enter the :guilabel:`URL`, add a :guilabel:`Name`, and select the appropriate :guilabel:`Folder`." +#: ../../content/applications/productivity/discuss/canned_responses.rst:123 +msgid ":doc:`Chatter `" msgstr "" -#: ../../content/applications/productivity/documents.rst:144 -msgid "Spreadsheets" +#: ../../content/applications/productivity/discuss/canned_responses.rst:124 +#: ../../content/applications/productivity/discuss/chatter.rst:430 +msgid ":doc:`Discuss <../discuss>`" msgstr "" -#: ../../content/applications/productivity/documents.rst:146 -msgid "To create a spreadsheet, click :guilabel:`New` and select :guilabel:`Spreadsheet`." +#: ../../content/applications/productivity/discuss/canned_responses.rst:125 +msgid ":ref:`Commands and Canned Responses `" msgstr "" -#: ../../content/applications/productivity/documents.rst:149 -msgid ":doc:`Spreadsheet documentation `" +#: ../../content/applications/productivity/discuss/chatter.rst:3 +msgid "Chatter" msgstr "" -#: ../../content/applications/productivity/documents.rst:152 -msgid "Managing files" +#: ../../content/applications/productivity/discuss/chatter.rst:9 +msgid "The *Chatter* feature is integrated throughout Odoo to streamline communication, maintain traceability, and provide accountability among team members. Chatter windows, known as *composers*, are located on almost every record within the database, and allow users to communicate with both internal users and external contacts." msgstr "" -#: ../../content/applications/productivity/documents.rst:154 -msgid "Several buttons are available in the top bar when opening a file:" +#: ../../content/applications/productivity/discuss/chatter.rst:14 +msgid "Chatter composers also enable users to log notes, upload files, and schedule activities." msgstr "" -#: ../../content/applications/productivity/documents.rst:156 -msgid "the :icon:`fa-cog` :guilabel:`Actions` menu, which includes the options described below" +#: ../../content/applications/productivity/discuss/chatter.rst:17 +msgid "Chatter thread" msgstr "" -#: ../../content/applications/productivity/documents.rst:157 -msgid ":guilabel:`Share`: to :ref:`share the file or manage its access rights `" +#: ../../content/applications/productivity/discuss/chatter.rst:19 +msgid "A *chatter thread* can be found on most pages in the database, and serves as a record of the updates and edits made to a record. A note is logged in the chatter thread when a change is made to the record. The note includes details of the change, and a time stamp." msgstr "" -#: ../../content/applications/productivity/documents.rst:158 -msgid ":guilabel:`Download`" +#: ../../content/applications/productivity/discuss/chatter.rst:24 +msgid "A user, Mitchell Admin, needs to update the email address of a contact. After they save the changes to the contact record, a note is logged in the chatter of the contact record with the following information:" msgstr "" -#: ../../content/applications/productivity/documents.rst:159 -msgid "any :ref:`buttons defined for the folder `" +#: ../../content/applications/productivity/discuss/chatter.rst:28 +msgid "The date when the change occurred." msgstr "" -#: ../../content/applications/productivity/documents.rst:161 -msgid "The following options are available in the :icon:`fa-cog` :guilabel:`Actions` menu:" +#: ../../content/applications/productivity/discuss/chatter.rst:29 +msgid "The email address as it was previously listed." msgstr "" -#: ../../content/applications/productivity/documents.rst:163 -msgid ":icon:`fa-files-o` :guilabel:`Duplicate`: Create a copy of the file." +#: ../../content/applications/productivity/discuss/chatter.rst:30 +msgid "The updated email address." msgstr "" -#: ../../content/applications/productivity/documents.rst:164 -msgid ":icon:`fa-trash` :guilabel:`Move to Trash`: Move the file to the :ref:`trash `." +#: ../../content/applications/productivity/discuss/chatter.rst:0 +msgid "A close up of a chatter thread with an update to a contact record." msgstr "" -#: ../../content/applications/productivity/documents.rst:166 -msgid ":icon:`fa-pencil-square-o` :guilabel:`Rename`" +#: ../../content/applications/productivity/discuss/chatter.rst:35 +msgid "If a record was created, or edited, via an imported file, or was otherwise updated through an intervention by the system, the chatter thread creates a log note, and credits the change to OdooBot." msgstr "" -#: ../../content/applications/productivity/documents.rst:167 -msgid ":icon:`fa-info-circle` :guilabel:`Info & tags`: View the file's :ref:`details ` and chatter." +#: ../../content/applications/productivity/discuss/chatter.rst:-1 +msgid "A close up of a chatter thread of an OdooBot created contact record." msgstr "" -#: ../../content/applications/productivity/documents.rst:169 -msgid ":icon:`fa-external-link-square` :guilabel:`Create shortcut`: A shortcut is a pointer to a file, allowing access from multiple folders without duplicating the file." +#: ../../content/applications/productivity/discuss/chatter.rst:45 +msgid "Add followers" msgstr "" -#: ../../content/applications/productivity/documents.rst:177 -msgid ":icon:`fa-history` :guilabel:`Manage versions`: View all versions of the file in upload order, download a specific version, or upload a new one as needed." +#: ../../content/applications/productivity/discuss/chatter.rst:47 +msgid "A *follower* is a user or contact that is added to a record and is notified when the record is updated, based on specific :ref:`follower subscription settings `. Followers can add themselves, or can be added by another user." msgstr "" -#: ../../content/applications/productivity/documents.rst:179 -msgid ":icon:`fa-lock` :guilabel:`Lock`: Protect the file from any modifications." +#: ../../content/applications/productivity/discuss/chatter.rst:52 +msgid "If a user creates, or is assigned to a record, they are automatically added as a follower." msgstr "" -#: ../../content/applications/productivity/documents.rst:180 -msgid ":icon:`fa-link` :guilabel:`Copy Links`: Copy the file's URL for sharing. Access is controlled based on the file's :ref:`access rights `." +#: ../../content/applications/productivity/discuss/chatter.rst:54 +msgid "To follow a record, navigate to any record with a chatter thread. For example, to open a *Helpdesk* ticket, navigate to :menuselection:`Helpdesk app --> Tickets --> All Tickets`, and select a ticket from the list to open it." msgstr "" -#: ../../content/applications/productivity/documents.rst:182 -msgid ":icon:`fa-scissors` :guilabel:`Split PDF`: :ref:`Split a PDF file `." +#: ../../content/applications/productivity/discuss/chatter.rst:58 +msgid "At the top-right, above the chatter composer, click :guilabel:`Follow`. Doing this changes the button to read :guilabel:`Following`. Click it again to :guilabel:`Unfollow`." msgstr "" -#: ../../content/applications/productivity/documents.rst:185 -msgid "You can use folder-specific :ref:`email aliases ` to automatically save files sent to the alias into the corresponding folder." +#: ../../content/applications/productivity/discuss/chatter.rst:62 +msgid "Manage followers" msgstr "" -#: ../../content/applications/productivity/documents.rst:191 -msgid "Splitting and merging PDFs" +#: ../../content/applications/productivity/discuss/chatter.rst:64 +msgid "To add another user, or contact, as a follower, click the |user|. This opens a drop-down list of the current followers. Click :guilabel:`Add Followers` to open an :guilabel:`Invite Follower` pop-up window." msgstr "" -#: ../../content/applications/productivity/documents.rst:193 -msgid "To divide a PDF into individual or groups of pages, open the PDF, click the :icon:`fa-cog` :guilabel:`Actions` button, and select :icon:`fa-scissors` :guilabel:`Split PDF`. Click the :icon:`fa-scissors` (:guilabel:`scissors`) icon between pages to remove a split if needed, then click :guilabel:`Split` to confirm." +#: ../../content/applications/productivity/discuss/chatter.rst:68 +msgid "Select one or more contacts from the :guilabel:`Recipients` drop-down list. To notify the contacts, tick the :guilabel:`Send Notification` checkbox. Edit the message template as desired, then click :guilabel:`Add Followers`." msgstr "" -#: ../../content/applications/productivity/documents.rst:-1 -msgid "Split a PDF" +#: ../../content/applications/productivity/discuss/chatter.rst:72 +msgid "To remove followers, click the |user| to open the current followers list. Find the name of the follower to be removed, and click the :icon:`fa-remove` :guilabel:`(remove)` icon." msgstr "" -#: ../../content/applications/productivity/documents.rst:201 -msgid "To merge PDF files, follow these steps:" +#: ../../content/applications/productivity/discuss/chatter.rst:78 +msgid "Edit follower subscription" msgstr "" -#: ../../content/applications/productivity/documents.rst:203 -msgid "Navigate to the folder containing the files you want to merge." +#: ../../content/applications/productivity/discuss/chatter.rst:80 +msgid "The updates a follower receives can vary based on their subscription settings. To see the type of updates a follower is subscribed to, and to edit the list, click the |user|. Find the appropriate follower in the list, then click the :icon:`fa-pencil` :guilabel:`(pencil)` icon. This opens the :guilabel:`Edit Subscription` pop-up window for the follower." msgstr "" -#: ../../content/applications/productivity/documents.rst:204 -msgid "Hold down **Ctrl** and click the relevant files." +#: ../../content/applications/productivity/discuss/chatter.rst:85 +msgid "The list of available subscription settings varies depending on the record type. For example, a follower of a *Helpdesk* ticket may be informed when the ticket is rated. This option would not be available for the followers of a *CRM* opportunity." msgstr "" -#: ../../content/applications/productivity/documents.rst:205 -msgid "Click the :icon:`fa-cog` :guilabel:`Actions` button and select :icon:`fa-scissors` :guilabel:`Merge PDFs`." +#: ../../content/applications/productivity/discuss/chatter.rst:89 +msgid "Tick the checkbox for any updates the follower should receive, and clear the checkbox for any updates they should **not** receive. Click :guilabel:`Apply` when finished." msgstr "" -#: ../../content/applications/productivity/documents.rst:207 -msgid "If needed, click :guilabel:`Add file` to browse and select a PDF file from your computer." +#: ../../content/applications/productivity/discuss/chatter.rst:95 +msgid "The Edit Subscription window on a Helpdesk ticket." msgstr "" -#: ../../content/applications/productivity/documents.rst:208 -msgid "Click the :icon:`fa-scissors` (:guilabel:`scissors`) icon between the files." +#: ../../content/applications/productivity/discuss/chatter.rst:95 +msgid "The Edit Subscription options vary depending on the record type. These are the options for a Helpdesk ticket." msgstr "" -#: ../../content/applications/productivity/documents.rst:209 -msgid "Click :guilabel:`Split` to merge them." +#: ../../content/applications/productivity/discuss/chatter.rst:101 +msgid "Log notes" msgstr "" -#: ../../content/applications/productivity/documents.rst:212 -msgid "The original PDFs are replaced by the merged version." +#: ../../content/applications/productivity/discuss/chatter.rst:103 +msgid "The chatter function includes the ability to log internal notes on individual records. These notes are only accessible to internal users, and are available on any records that feature a chatter thread." msgstr "" -#: ../../content/applications/productivity/documents.rst:215 -msgid "Press **Shift + S** to add or remove all splits between pages." +#: ../../content/applications/productivity/discuss/chatter.rst:107 +msgid "To log an internal note, first navigate to a record. For example, to open a *CRM* opportunity, navigate to :menuselection:`CRM app --> Sales --> My Pipeline`, and click on the Kanban card of an opportunity to open it. Then, at the top-right, above the chatter composer, click :guilabel:`Log note`." msgstr "" -#: ../../content/applications/productivity/documents.rst:216 -msgid "To delete a specific page, select the page, then click :guilabel:`Delete`." +#: ../../content/applications/productivity/discuss/chatter.rst:112 +msgid "Enter the note in the chatter composer. To tag an internal user, type `@`, and begin typing the name of the person to tag. Then, select a name from the drop-down menu. Depending on their notification settings, the user is notified by email, or through Odoo." msgstr "" -#: ../../content/applications/productivity/documents.rst:221 -msgid "Requesting files" +#: ../../content/applications/productivity/discuss/chatter.rst:117 +msgid "Outside contacts can also be tagged in an internal log note. The contact then receives an email with the contents of the note they were tagged in, including any attachments added directly to the note. If they respond to the email, their response is logged in the chatter, and they are added to the record as a follower." msgstr "" -#: ../../content/applications/productivity/documents.rst:223 -msgid "Request files from users as a reminder for them to upload specific files. To do so, follow these steps:" +#: ../../content/applications/productivity/discuss/chatter.rst:122 +msgid "Outside contacts are **not** able to log in to view the entire chatter thread, and are only notified of specific updates, based on their :ref:`follower subscription settings `, or when they are tagged directly." msgstr "" -#: ../../content/applications/productivity/documents.rst:226 -msgid "Click :guilabel:`New` and select :guilabel:`Request`." +#: ../../content/applications/productivity/discuss/chatter.rst:129 +msgid "Send messages" msgstr "" -#: ../../content/applications/productivity/documents.rst:227 -msgid "Enter a :guilabel:`Document Name` and select the person you're requesting it from in the :guilabel:`Request To` field." +#: ../../content/applications/productivity/discuss/chatter.rst:131 +msgid "Chatter composers can send messages to outside contacts, without having to leave the database, or open a different application. This makes it easy to communicate with potential customers in the *Sales* and *CRM* applications, or vendors in the *Purchase* app." msgstr "" -#: ../../content/applications/productivity/documents.rst:229 -msgid "If needed, set a :guilabel:`Due Date In`, edit the :guilabel:`Folder` where the file should be added, add :guilabel:`Tags`, and write a :guilabel:`Message`." +#: ../../content/applications/productivity/discuss/chatter.rst:135 +msgid "To send a message, first navigate to a record. For example, to send a message from a *CRM* opportunity, navigate to :menuselection:`CRM app --> Sales --> My Pipeline`, and click on the Kanban card of an opportunity to open it. Then, at the top-right, above the chatter composer, click :guilabel:`Send message`." msgstr "" -#: ../../content/applications/productivity/documents.rst:231 -msgid "Click :guilabel:`Request`." +#: ../../content/applications/productivity/discuss/chatter.rst:141 +msgid "Press :command:`Ctrl + Enter` to send a message, instead of using the :guilabel:`Send` button." msgstr "" -#: ../../content/applications/productivity/documents.rst:233 -msgid "A placeholder for the missing file is created in the selected folder. Once the file is available, click the placeholder to upload it." +#: ../../content/applications/productivity/discuss/chatter.rst:143 +msgid "If any :ref:`followers ` have been added to the record, they are added as recipients of the message." msgstr "" -#: ../../content/applications/productivity/documents.rst:237 -msgid "You can also request a document from the :ref:`list of scheduled activities `." +#: ../../content/applications/productivity/discuss/chatter.rst:147 +msgid ":ref:`Followers ` of a record are added as recipients of a message automatically. If a follower should **not** receive a message, they must be removed as a follower before the message is sent, or a note is logged." msgstr "" -#: ../../content/applications/productivity/documents.rst:239 -msgid "To see the list of all requested files, switch to the Activity view of the Documents app and go to the :guilabel:`Requested Document` column. Click a requested file's date to view its details. You can then:" +#: ../../content/applications/productivity/discuss/chatter.rst:-1 +msgid "A chatter composer preparing to send a message to the followers of a CRM opportunity and\n" +"the customer listed on the opportunity record." msgstr "" -#: ../../content/applications/productivity/documents.rst:243 -msgid "Upload a file using the :icon:`fa-upload` (:guilabel:`upload`) button;" +#: ../../content/applications/productivity/discuss/chatter.rst:156 +msgid "Expand full composer" msgstr "" -#: ../../content/applications/productivity/documents.rst:244 -msgid "Edit the activity using the :icon:`fa-pencil` (:guilabel:`edit`) button;" +#: ../../content/applications/productivity/discuss/chatter.rst:158 +msgid "The chatter composer can be expanded to a larger pop-up window, allowing for additional customizations." msgstr "" -#: ../../content/applications/productivity/documents.rst:245 -msgid "Cancel the activity using the :icon:`fa-remove` (:guilabel:`cancel`) button;" +#: ../../content/applications/productivity/discuss/chatter.rst:161 +msgid "To open the full composer, click the :icon:`fa-expand` :guilabel:`(expand)` icon in the bottom-right corner of the composer window." msgstr "" -#: ../../content/applications/productivity/documents.rst:246 -msgid "Send a reminder email. Click :guilabel:`Preview` to preview the content of the reminder email if needed, then :guilabel:`Send Now`." +#: ../../content/applications/productivity/discuss/chatter.rst:167 +msgid "A chatter composer with emphasis on the expand icon." msgstr "" -#: ../../content/applications/productivity/documents.rst:249 -msgid "To send a reminder email for all requested files, click the :icon:`fa-ellipsis-v` (:guilabel:`ellipsis`) icon in the :guilabel:`Requested Document` column and select :guilabel:`Document Request: Reminder`." +#: ../../content/applications/productivity/discuss/chatter.rst:167 +msgid "The expand icon in a chatter composer." msgstr "" -#: ../../content/applications/productivity/documents.rst:-1 -msgid "Send a reminder email from the Activity view" +#: ../../content/applications/productivity/discuss/chatter.rst:169 +msgid "Doing this opens a :guilabel:`Compose Email` pop-up window. Confirm or edit the intended :guilabel:`Recipients` of the message, or add additional recipients. The :guilabel:`Subject` field auto-populates based on the title of the record, though it can be edited, if desired." msgstr "" -#: ../../content/applications/productivity/documents.rst:259 -msgid "Details panel" +#: ../../content/applications/productivity/discuss/chatter.rst:173 +msgid "To use an :doc:`email template <../../general/companies/email_template/>` for the message, click the |ve| icon, then select a template from the list. Existing templates can also be overwritten or deleted from this menu." msgstr "" -#: ../../content/applications/productivity/documents.rst:261 -msgid "To view a folder's or file's information and tags, select the folder or file, then click the :icon:`fa-cog` icon (for folders) or :icon:`fa-cog` :guilabel:`Actions` button (for files) and select :icon:`fa-info-circle` :guilabel:`Info & Tags`." +#: ../../content/applications/productivity/discuss/chatter.rst:178 +msgid "The number and type of templates available vary, based on the record the message is created from." msgstr "" -#: ../../content/applications/productivity/documents.rst:266 -msgid "Alternatively, for folders, you can also click the :icon:`fa-info-circle` (:guilabel:`Info & Tags`) button in the upper-right corner next to the view icons." +#: ../../content/applications/productivity/discuss/chatter.rst:180 +msgid "Click :icon:`fa-paperclip` :guilabel:`(paperclip)` icon to add any files to the message, then click :guilabel:`Send`." msgstr "" -#: ../../content/applications/productivity/documents.rst:269 -msgid "The details panel allows the following:" +#: ../../content/applications/productivity/discuss/chatter.rst:-1 +msgid "The expanded full chatter composer in the CRM application." msgstr "" -#: ../../content/applications/productivity/documents.rst:271 -msgid "Change the file's folder or the folder's name." +#: ../../content/applications/productivity/discuss/chatter.rst:187 +msgid "Generate text with AI" msgstr "" -#: ../../content/applications/productivity/documents.rst:272 -msgid "View the file's or folder's size and the folder's item count." +#: ../../content/applications/productivity/discuss/chatter.rst:189 +msgid "To generate message text using AI, click the AI icon from the expanded chatter composer. This opens a :guilabel:`Generate Text with AI` pop-up." msgstr "" -#: ../../content/applications/productivity/documents.rst:273 -msgid "Change the file's or folder's owner and contact. By default, the person who creates a file or folder is set as its owner and granted full access rights to it. To change it, select the required user from the dropdown list. The contact is a person who only has :guilabel:`Viewer` :ref:`access rights ` to the file or folder, e.g., an existing supplier in the database." +#: ../../content/applications/productivity/discuss/chatter.rst:192 +msgid "Enter a prompt in the :guilabel:`Send a message` field to instruct the AI on the type of content needed, then press enter, or click the :icon:`fa-paper-plane` :guilabel:`(paper plane)` icon." msgstr "" -#: ../../content/applications/productivity/documents.rst:279 -msgid "To close the details panel, click the :icon:`fa-remove` (:guilabel:`remove`) button in the upper-right corner." +#: ../../content/applications/productivity/discuss/chatter.rst:-1 +msgid "The generate text with AI popup." msgstr "" -#: ../../content/applications/productivity/documents.rst:283 -msgid "To view a file from their user profile, a user must be set as the contact and have at least :guilabel:`Viewer` :ref:`access `." +#: ../../content/applications/productivity/discuss/chatter.rst:198 +msgid "After the text is generated, click :guilabel:`Insert` to insert the text into the message composer." msgstr "" -#: ../../content/applications/productivity/documents.rst:289 -msgid "Email aliases" +#: ../../content/applications/productivity/discuss/chatter.rst:201 +msgid "Before sending the final message, be sure to edit any commentary from the AI, or any text in brackets." msgstr "" -#: ../../content/applications/productivity/documents.rst:291 -msgid "You can use an email alias to automatically save files sent to the email alias into a specific folder. To set up an email alias for a folder, follow these steps:" +#: ../../content/applications/productivity/discuss/chatter.rst:0 +msgid "A draft of an email with text generated by AI." msgstr "" -#: ../../content/applications/productivity/documents.rst:294 -msgid "Make sure a :ref:`custom alias domain ` is configured in the :guilabel:`General Settings`." +#: ../../content/applications/productivity/discuss/chatter.rst:208 +msgid "Edit sent messages" msgstr "" -#: ../../content/applications/productivity/documents.rst:296 -msgid "Select the folder where files should be saved." +#: ../../content/applications/productivity/discuss/chatter.rst:210 +msgid "Messages can be edited after they are sent, to fix typos, correct mistakes, or add missing information." msgstr "" -#: ../../content/applications/productivity/documents.rst:297 -msgid "Click the :icon:`fa-info-circle` (:guilabel:`Info & Tags`) in the upper-right corner next to the view icons." +#: ../../content/applications/productivity/discuss/chatter.rst:214 +msgid "When messages are edited after they have been sent, an updated message is **not** sent to the recipient." msgstr "" -#: ../../content/applications/productivity/documents.rst:299 -msgid "In the details panel, enter the desired email alias." +#: ../../content/applications/productivity/discuss/chatter.rst:217 +msgid "To edit a sent message, click the |ve| menu to the right of the message. Then, select :guilabel:`Edit`. Make any necessary adjustments to the message." msgstr "" -#: ../../content/applications/productivity/documents.rst:300 -msgid "Optionally, specify an :guilabel:`Activity type` and assignee to create an :doc:`activity ` when a file is received via the alias." +#: ../../content/applications/productivity/discuss/chatter.rst:-1 +msgid "The edit message option in a chatter thread." msgstr "" -#: ../../content/applications/productivity/documents.rst:302 -msgid "Optionally, select the :ref:`Tags ` to automatically apply to the files created through the alias." +#: ../../content/applications/productivity/discuss/chatter.rst:223 +msgid "To save the changes, press :command:`Ctrl + Enter`. To discard the changes, press :command:`Escape`." msgstr "" -#: ../../content/applications/productivity/documents.rst:306 -msgid ":doc:`/applications/general/email_communication/email_servers_inbound`" +#: ../../content/applications/productivity/discuss/chatter.rst:226 +msgid "Users with Admin-level access rights can edit any sent messages. Users without Admin rights can **only** edit messages they created." msgstr "" -#: ../../content/applications/productivity/documents.rst:311 -#: ../../content/applications/productivity/sign.rst:297 -msgid "Tags" +#: ../../content/applications/productivity/discuss/chatter.rst:232 +msgid "Search messages" msgstr "" -#: ../../content/applications/productivity/documents.rst:313 -msgid "Tags help organize and categorize files, making it easier to search and filter them. To configure tags for files, go to :menuselection:`Documents --> Configuration --> Tags`. Click :guilabel:`New` to create a new tag. Enter the :guilabel:`Tag Name`, select a :guilabel:`Color`, and optionally add a :guilabel:`Tooltip` that appears when hovering over the tag." +#: ../../content/applications/productivity/discuss/chatter.rst:234 +msgid "Chatter threads can become long after a while, because of all the information they contain. To make it easier to find a specific entry, users can search the text of messages and notes for specific keywords." msgstr "" -#: ../../content/applications/productivity/documents.rst:318 -msgid "To add tags to a file, open the file, click the :icon:`fa-cog` :guilabel:`Actions`, select :icon:`fa-info-circle` :guilabel:`Info & Tags`, and then, in the details panel, select a tag from the :guilabel:`Tags` dropdown menu (identifiable by its placeholder :guilabel:`Add tags`)." +#: ../../content/applications/productivity/discuss/chatter.rst:238 +msgid "First, select a record with a chatter thread. For example, to search a *CRM* opportunity, navigate to :menuselection:`CRM app --> Sales --> My Pipeline`, and click on the Kanban card of an opportunity to open it. Then, at the top-right, above the chatter composer, click the :icon:`oi-search` :guilabel:`(search)` icon to open the search bar." msgstr "" -#: ../../content/applications/productivity/documents.rst:323 -msgid ":ref:`Alias tags ` can also be used to automatically apply tags to files created through the alias." +#: ../../content/applications/productivity/discuss/chatter.rst:243 +msgid "Enter a keyword or phrase into the search bar, then hit :command:`Enter`, or click the :icon:`oi-search` :guilabel:`(search)` icon to the right of the search bar. Any messages or notes containing the keyword or phrase entered are listed below the search bar, with the keyword highlighted." msgstr "" -#: ../../content/applications/productivity/documents.rst:327 -msgid "Linked records" +#: ../../content/applications/productivity/discuss/chatter.rst:248 +msgid "To be taken directly to a particular message in the chatter thread, hover over the upper-right corner of the result to reveal a :guilabel:`Jump` button. Click this button to be directed to that message's location in the thread." msgstr "" -#: ../../content/applications/productivity/documents.rst:329 -msgid "To link the file to a specific record, select the appropriate model from the :guilabel:`Linked to` dropdown menu (identifiable by its placeholder :guilabel:`No linked model`), then select the desired record." +#: ../../content/applications/productivity/discuss/chatter.rst:255 +msgid "Search results in a chatter thread emphasising the search icon and the jump button." msgstr "" -#: ../../content/applications/productivity/documents.rst:334 -msgid "If :ref:`file centralization ` is enabled for a specific app, adding a file to the Documents app by uploading an attachment automatically adds the corresponding record in the :guilabel:`Linked to field` of the file." +#: ../../content/applications/productivity/discuss/chatter.rst:255 +msgid "Search results in a chatter thread. Hover over the upper-right corner of a result to see the **Jump** option. Click it to be taken directly to that message in the chatter thread." msgstr "" -#: ../../content/applications/productivity/documents.rst:341 -msgid "Share and access rights" +#: ../../content/applications/productivity/discuss/chatter.rst:261 +msgid "Schedule activities" msgstr "" -#: ../../content/applications/productivity/documents.rst:344 -msgid "You can only share folders and files and edit their access rights if you have editing rights." +#: ../../content/applications/productivity/discuss/chatter.rst:263 +msgid "*Activities* are follow-up tasks tied to a record in an Odoo database. Activities can be scheduled on any database page that contains a chatter thread, Kanban view, list view, or activities view of an application." msgstr "" -#: ../../content/applications/productivity/documents.rst:346 -msgid "Access rights can be set on:" +#: ../../content/applications/productivity/discuss/chatter.rst:267 +msgid "To schedule an activity through a chatter thread, click the :guilabel:`Activities` button, located at the top of the chatter on any record. On the :guilabel:`Schedule Activity` pop-up window that appears, select an :guilabel:`Activity Type` from the drop-down menu." msgstr "" -#: ../../content/applications/productivity/documents.rst:348 -msgid "folders: Select the folder, click the :icon:`fa-cog` (:guilabel:`gear`) icon, and select :guilabel:`Share`." +#: ../../content/applications/productivity/discuss/chatter.rst:272 +msgid "Individual applications have a list of *Activity Types* dedicated to that application. For example, to view and edit the activities available for the *CRM* application, go to :menuselection:`CRM app --> Configuration --> Activity Types`." msgstr "" -#: ../../content/applications/productivity/documents.rst:350 -msgid "files: Open the file and click :guilabel:`Share` in the top bar." +#: ../../content/applications/productivity/discuss/chatter.rst:276 +msgid "Enter a title for the activity in the :guilabel:`Summary` field, located in the :guilabel:`Schedule Activity` pop-up window." msgstr "" -#: ../../content/applications/productivity/documents.rst:352 -msgid "In the :guilabel:`Share` pop-up, click :guilabel:`Invite people` to grant access to specific users or contacts. Select their name from the dropdown menu or enter their email address in the :guilabel:`People` field, then set the :guilabel:`Role` field to :guilabel:`Viewer` or :guilabel:`Editor`." +#: ../../content/applications/productivity/discuss/chatter.rst:279 +msgid "Select a name from the :guilabel:`Assigned to` drop-down menu to assign the activity to a different user. Otherwise, the user creating the activity is automatically assigned." msgstr "" -#: ../../content/applications/productivity/documents.rst:358 -msgid "To remove a permission or set an expiration date for it, hover the mouse over the relevant contact and click the :icon:`fa-remove` (:guilabel:`remove`) or :icon:`fa-calendar` (:guilabel:`calendar`) button, respectively." +#: ../../content/applications/productivity/discuss/chatter.rst:282 +msgid "Add any additional information in the optional :guilabel:`Log a note...` field." msgstr "" -#: ../../content/applications/productivity/documents.rst:0 -msgid "Hover the mouse over a permission to reveal the buttons." +#: ../../content/applications/productivity/discuss/chatter.rst:285 +msgid "The :guilabel:`Due Date` field on the :guilabel:`Schedule Activity` pop-up window auto-populates based on the configuration settings for the selected :guilabel:`Activity Type`. However, this date can be changed by selecting a day on the calendar in the :guilabel:`Due Date` field." msgstr "" -#: ../../content/applications/productivity/documents.rst:365 -msgid "To set :guilabel:`General access` for :guilabel:`Internal users` or :guilabel:`Anyone with the link`, select :guilabel:`Viewer`, :guilabel:`Editor`, or :guilabel:`None` (to restrict access completely). For :guilabel:`Anyone with the link`, you can further specify whether the folder or file should be :guilabel:`Discoverable` (accessible through browsing) or require that users :guilabel:`Must have the link to access` it." +#: ../../content/applications/productivity/discuss/chatter.rst:289 +msgid "Lastly, click one of the following buttons:" msgstr "" -#: ../../content/applications/productivity/documents.rst:372 -msgid "Public users :guilabel:`Must have the link to access` a folder or file on the portal when connecting for the first time." +#: ../../content/applications/productivity/discuss/chatter.rst:291 +msgid ":guilabel:`Schedule`: adds the activity to the chatter under :guilabel:`Planned activities`." msgstr "" -#: ../../content/applications/productivity/documents.rst:374 -msgid "Each folder and file URL includes the access rights that have been set for it. When you share a folder, the person you share it with is directed to a dedicated portal where they can view the files in that folder, excluding any with restricted access." +#: ../../content/applications/productivity/discuss/chatter.rst:292 +msgid ":guilabel:`Schedule & Mark as Done`: adds the details of the activity to the chatter under :guilabel:`Today`. The activity is added to :guilabel:`Today`, and is automatically marked as done." msgstr "" -#: ../../content/applications/productivity/documents.rst:379 -msgid ":doc:`Portal users ` can access folders and files they have permission to view or edit through the customer portal by clicking the :guilabel:`Documents` card." +#: ../../content/applications/productivity/discuss/chatter.rst:295 +msgid ":guilabel:`Done \\& Schedule Next`: adds the task under :guilabel:`Today` marked as done, and opens a new activity window." msgstr "" -#: ../../content/applications/productivity/documents.rst:386 -msgid "File digitization with AI" +#: ../../content/applications/productivity/discuss/chatter.rst:297 +msgid ":guilabel:`Cancel`: discards any changes made on the pop-up window." msgstr "" -#: ../../content/applications/productivity/documents.rst:388 -msgid "Files available in the Finance folder can be digitized. Select the file, click :guilabel:`Create Vendor Bill`, :guilabel:`Create Customer Invoice`, or :guilabel:`Create Customer Credit Note`, then click :guilabel:`Send for Digitization`." +#: ../../content/applications/productivity/discuss/chatter.rst:299 +msgid "Scheduled activities are added to the chatter for the record under :guilabel:`Planned activities`, and are color-coded based on their due date." msgstr "" -#: ../../content/applications/productivity/documents.rst:393 -msgid ":doc:`AI-powered document digitization <../finance/accounting/vendor_bills/invoice_digitization>`" +#: ../../content/applications/productivity/discuss/chatter.rst:302 +msgid "**Red** icons indicate an overdue activity." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:3 -msgid "Knowledge" +#: ../../content/applications/productivity/discuss/chatter.rst:303 +msgid "**Yellow** icons indicate an activity with a due date scheduled for the current date." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:5 -msgid "**Odoo Knowledge** is a multipurpose productivity app that allows internal users to enrich their business knowledge base by providing information gathered individually or collaboratively." +#: ../../content/applications/productivity/discuss/chatter.rst:304 +msgid "**Green** icons indicate an activity with a due date scheduled in the future." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:8 -msgid "The pages on which they gather content are called *articles*. They are mainly composed of a title and a body. The latter is an HTML field containing text, images, links, records from other models, templates, etc." +#: ../../content/applications/productivity/discuss/chatter.rst:-1 +msgid "A chatter thread with planned activities with varying due dates." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:13 -msgid "`Knowledge product page `_" +#: ../../content/applications/productivity/discuss/chatter.rst:310 +msgid "Click the :icon:`fa-info-circle` :guilabel:`(info)` icon next to a planned activity to see additional details." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:18 -msgid "Article creation" +#: ../../content/applications/productivity/discuss/chatter.rst:0 +msgid "A detailed view of a planned activity." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:20 -msgid "Knowledge articles can be created from scratch or a pre-configured template. When an article is created under another, the original one is the **parent article**, while the new one is called a **child** or **nested article**, indicating its subordinate position. This structure helps organize content by establishing clear relationships between related articles." +#: ../../content/applications/productivity/discuss/chatter.rst:316 +msgid "After completing an activity, click :guilabel:`Mark Done` under the activity entry in the chatter. This opens a :guilabel:`Mark Done` pop-up window, where additional notes about the activity can be entered. After adding any comments to the pop-up window, click: :guilabel:`Done \\& Schedule Next`, :guilabel:`Done`, or :guilabel:`Discard`." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:25 -msgid "To create a nested article, hover over an article in the sidebar tree and click the :icon:`fa-plus` :guilabel:`(plus)` icon." +#: ../../content/applications/productivity/discuss/chatter.rst:321 +msgid "After the activity is marked complete, an entry with the activity type, title, and any other details that were included in the pop-up window are listed in the chatter." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:29 -msgid "From scratch" +#: ../../content/applications/productivity/discuss/chatter.rst:-1 +msgid "A chatter thread with a completed activity, included additional details." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:31 -msgid "To create an article from scratch, click :icon:`fa-plus` :guilabel:`New Article` in the top-left corner or hover over the :guilabel:`Private` or :guilabel:`Workspace` category in the sidebar tree, then click the :icon:`fa-plus` :guilabel:`(plus)` icon. Start typing text or select one of the suggested options:" +#: ../../content/applications/productivity/discuss/chatter.rst:330 +msgid "Attach files" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:36 -msgid ":guilabel:`Load a Template`: Select a preconfigured template and click :guilabel:`Load Template`." +#: ../../content/applications/productivity/discuss/chatter.rst:332 +msgid "Files can be added as attachments in the chatter, either to send with messages, or to include with a record." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:37 -msgid ":guilabel:`Build an Item Kanban`: Create items to visualize and manage them in a Kanban view." +#: ../../content/applications/productivity/discuss/chatter.rst:336 +msgid "After a file has been added to a chatter thread, it can be downloaded by any user with access to the thread. Click the |paperclip| to make the files header visible, if necessary. Then, click the :icon:`fa-download` :guilabel:`(download)` icon the file to download it." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:38 -msgid ":guilabel:`Build an Item List`: Create a structured list of items to centralize them in a single article." +#: ../../content/applications/productivity/discuss/chatter.rst:340 +msgid "To attach a file, click the |paperclip| located at the top of the chatter composer of any record that contains a chatter thread." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:40 -msgid ":guilabel:`Build an Item Calendar`: Create a calendar view to manage and track items by date." +#: ../../content/applications/productivity/discuss/chatter.rst:343 +msgid "This opens a file explorer pop-up window. Navigate to the desired file, select it, then click :guilabel:`Open` to add it to the record. Alternatively, files can be dragged and dropped directly onto a chatter thread." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:41 -msgid ":guilabel:`Generate an Article with AI`: Generate content based on a prompt." +#: ../../content/applications/productivity/discuss/chatter.rst:347 +msgid "After files have been added, they are listed in the chatter thread, under a :guilabel:`Files` heading." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:44 -msgid "After writing the header, click or hover over :guilabel:`Untitled` in the top bar to automatically name the article after the header. This action does not apply if the article is already titled." +#: ../../content/applications/productivity/discuss/chatter.rst:351 +msgid "After at least one file has been added to a chatter record, a new button labeled :guilabel:`Attach files` appears below the :guilabel:`Files` heading. To attach any additional files, this is the button that **must** be used, instead of the |paperclip| at the top of the chatter thread." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:49 -msgid "From a template" +#: ../../content/applications/productivity/discuss/chatter.rst:356 +msgid "After the :guilabel:`Files` section heading appears in the thread, clicking the |paperclip| no longer opens a file explorer pop-up window. Instead, clicking the |paperclip| toggles the :guilabel:`Files` section from visible to invisible in the chatter thread." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:51 -msgid "To create an article from a template, follow these steps:" +#: ../../content/applications/productivity/discuss/chatter.rst:0 +msgid "A chatter thread with a file attached and the Attach files button added." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:53 -msgid "Click :icon:`fa-paint-brush` :guilabel:`Browse Templates` at the bottom of the sidebar tree." +#: ../../content/applications/productivity/discuss/chatter.rst:366 +msgid "Integrations" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:54 -msgid "Select a preferred template." +#: ../../content/applications/productivity/discuss/chatter.rst:368 +msgid "Beyond the standard features, additional integrations can be enabled to work with the chatter feature, specifically *WhatsApp* and *Google Translate*." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:55 -msgid "Click :guilabel:`Load Template`." +#: ../../content/applications/productivity/discuss/chatter.rst:372 +msgid "Before the *WhatsApp* and *Google Translate* integrations can be used with the chatter, they **must** be configured. Step-by-step instructions on how to set-up each of these features can be found in the documentation below:" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:60 -msgid "Article editing" +#: ../../content/applications/productivity/discuss/chatter.rst:376 +#: ../../content/applications/productivity/discuss/chatter.rst:433 +msgid ":doc:`WhatsApp <../whatsapp>`" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:62 -msgid "To edit an article, select it in the sidebar tree, then edit its content and format it using the :ref:`text editor toolbar `, typing :ref:`powerbox commands `, and adding a :ref:`cover picture ` with a :ref:`title emoji `." +#: ../../content/applications/productivity/discuss/chatter.rst:377 +msgid ":doc:`Google Translate <../../general/integrations/google_translate>`" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:70 -msgid "Text editor toolbar" +#: ../../content/applications/productivity/discuss/chatter.rst:380 +#: ../../content/applications/productivity/whatsapp.rst:3 +msgid "WhatsApp" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:72 -msgid "To edit a word, sentence, or paragraph, select or double-click it to display the text editor toolbar and apply the desired :doc:`formatting options `." +#: ../../content/applications/productivity/discuss/chatter.rst:382 +msgid "*WhatsApp* is an instant messaging and voice-over-IP app that allows users to send and receive messages, as well as share content." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:76 -msgid "Click :icon:`fa-commenting-o` :guilabel:`Comment` to add a comment to the selected text." +#: ../../content/applications/productivity/discuss/chatter.rst:386 +msgid "*WhatsApp* is an Odoo Enterprise-only application that does **not** work in the Odoo Community edition. To sign up for an Odoo Enterprise edition, click here: `Odoo Free Trial `_." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:81 -msgid "Commands" +#: ../../content/applications/productivity/discuss/chatter.rst:390 +msgid "After *WhatsApp* has been configured and enabled within a database, a :guilabel:`WhatsApp` button is added above the chatter composer on any applicable record. If one or more approved *WhatsApp* templates are found for that model, clicking this button opens a :guilabel:`Send WhatsApp Message` pop-up window." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:83 -msgid "Type `/` to open the :ref:`powerbox ` and use a command. The following commands are exclusive to the Knowledge app:" +#: ../../content/applications/productivity/discuss/chatter.rst:396 +msgid "*WhatsApp* templates **must** be approved before they can be used. See :ref:`WhatsApp templates ` for more information." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:93 -msgid "Command" +#: ../../content/applications/productivity/discuss/chatter.rst:-1 +msgid "A send WhatsApp message pop-up window." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:95 -msgid ":guilabel:`Index`" +#: ../../content/applications/productivity/discuss/chatter.rst:403 +msgid "Google Translate" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:96 -msgid "Show :ref:`nested articles `: Display the child pages of the parent article." +#: ../../content/applications/productivity/discuss/chatter.rst:405 +msgid "*Google Translate* can be used to translate user-generated text in the Odoo chatter." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:98 -msgid ":guilabel:`Item Kanban`" +#: ../../content/applications/productivity/discuss/chatter.rst:407 +msgid "To enable *Google Translate* on a database, an *API key* must first :doc:`be created <../../general/integrations/google_translate>` through the `Google API Console `_." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:99 -msgid "Insert a Kanban view and create :ref:`article items `." +#: ../../content/applications/productivity/discuss/chatter.rst:411 +msgid "After creating the API key, navigate to the :menuselection:`Settings app --> Discuss section` and paste the key in the :guilabel:`Message Translation` field. Click :guilabel:`Save` to save the changes." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:101 -msgid ":guilabel:`Item Cards`" +#: ../../content/applications/productivity/discuss/chatter.rst:416 +msgid "Translate a chatter message" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:102 -msgid "Insert a Card view and create :ref:`article items `." +#: ../../content/applications/productivity/discuss/chatter.rst:418 +msgid "To translate a user's text from another language, click the |ve| menu to the right of the chatter. Then, select :guilabel:`Translate`. The content translates to the language set in the :doc:`user's preferences <../../general/users/language/>`." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:103 -msgid ":guilabel:`Item List`" +#: ../../content/applications/productivity/discuss/chatter.rst:-1 +msgid "alt text" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:104 -msgid "Insert a List view and create :ref:`article items `." +#: ../../content/applications/productivity/discuss/chatter.rst:426 +msgid "Using the *Google Translate* API **requires** a current billing account with `Google `_." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:105 -msgid ":guilabel:`Item Calendar`" +#: ../../content/applications/productivity/discuss/chatter.rst:431 +msgid ":doc:`Discuss Channels <../discuss/team_communication/>`" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:106 -msgid "Insert a Calendar view and create :ref:`article items `." +#: ../../content/applications/productivity/discuss/chatter.rst:432 +msgid ":doc:`Activities <../../essentials/activities>`" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:112 -msgid "Article items" +#: ../../content/applications/productivity/discuss/ice_servers.rst:3 +msgid "Configure ICE servers with Twilio" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:114 -msgid "Article items are active building blocks within an article, allowing the addition, management, and viewing of various organized content and data." +#: ../../content/applications/productivity/discuss/ice_servers.rst:5 +msgid "Odoo Discuss uses WebRTC API and peer-to-peer connections for voice and video calls. If one of the call attendees is behind a symmetric NAT, you need to configure an ICE server to establish a connection to the call attendee. To set up an ICE server, first, create a Twilio account for video calls, and then, connect that Twilio account to Odoo." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:117 -msgid "Article items within a parent article can contain :ref:`properties `, which are shared data fields from the parent, ensuring consistent information across related items and articles." +#: ../../content/applications/productivity/discuss/ice_servers.rst:11 +msgid "Create a Twilio account" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:124 -msgid "Cover pictures" +#: ../../content/applications/productivity/discuss/ice_servers.rst:13 +msgid "First, go to `Twilio `_ and click :guilabel:`Sign up` to create a new Twilio account. Next, enter your name and email address, create a password, and accept Twilio's terms of service. Then, click :guilabel:`Start your free trial`. Verify your email address with Twilio, as per their instructions." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:126 -msgid "To add a cover picture, click the :icon:`fa-ellipsis-v` :guilabel:`(ellipsis)` icon, then :guilabel:`Add Cover`. The following options enable selecting and inserting pictures from different sources:" +#: ../../content/applications/productivity/discuss/ice_servers.rst:18 +msgid "Next, enter your phone number into Twilio. Then, Twilio will send you an SMS text message containing a verification code. Enter the verification code into Twilio to verify your phone number." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:130 -msgid "Search the :doc:`Unsplash ` database to find a suitable picture. If the database and **Unsplash** account are associated, the cover picture is automatically selected based on the article's name." +#: ../../content/applications/productivity/discuss/ice_servers.rst:22 +msgid "After that, Twilio redirects to a welcome page. Use the following list to answer Twilio's questions:" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:133 -msgid ":guilabel:`Add URL`: Copy-paste the **image address**." +#: ../../content/applications/productivity/discuss/ice_servers.rst:25 +msgid "For :guilabel:`Which Twilio product are you here to use?`, select :guilabel:`Video`." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:134 -msgid ":guilabel:`Upload an image`: Upload the file into the image library." +#: ../../content/applications/productivity/discuss/ice_servers.rst:26 +msgid "For :guilabel:`What do you plan to build with Twilio?`, select :guilabel:`Other`." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:136 -msgid "To manage the cover picture, hover the mouse over it and select the preferred option:" +#: ../../content/applications/productivity/discuss/ice_servers.rst:27 +msgid "For :guilabel:`How do you want to build with Twilio?`, select :guilabel:`With no code at all`." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:138 -msgid ":guilabel:`Replace Cover` and search from the database or library, or add a different URL." +#: ../../content/applications/productivity/discuss/ice_servers.rst:28 +msgid "For :guilabel:`What is your goal today?`, select :guilabel:`3rd party integrations`." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:140 -msgid ":guilabel:`Reposition` and adjust the picture before clicking :guilabel:`Save Position`." +#: ../../content/applications/productivity/discuss/ice_servers.rst:-1 +msgid "The Twilio welcome page." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:142 -msgid ":guilabel:`Remove`." +#: ../../content/applications/productivity/discuss/ice_servers.rst:34 +msgid "If necessary, change the billing country. Finally, click :guilabel:`Get Started with Twilio`." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:147 -msgid "Title emoji" +#: ../../content/applications/productivity/discuss/ice_servers.rst:37 +msgid "Locate the Twilio Account SID and Auth Token" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:149 -msgid "To add a title emoji to the article's name and header:" +#: ../../content/applications/productivity/discuss/ice_servers.rst:39 +msgid "To locate the Account SID and Auth Token, go to the Twilio account dashboard. Then, click :guilabel:`Develop` on the sidebar. In the :guilabel:`Account Info` section, locate the :guilabel:`Account SID` and the :guilabel:`Auth Token`. Both of these are needed to connect Twilio to Odoo." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:151 -msgid "Click the :icon:`fa-ellipsis-v` :guilabel:`(ellipsis)` icon, then :guilabel:`Add Icon` to generate a random emoji. Click the emoji to select a different one." +#: ../../content/applications/productivity/discuss/ice_servers.rst:-1 +msgid "The Twilio Account SID and Auth Token can be found uner the Account Info section." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:154 -msgid "Alternatively, click the :icon:`fa-file-text-o` :guilabel:`(page)` icon next to the article's name in the sidebar or the top bar and select the preferred emoji." +#: ../../content/applications/productivity/discuss/ice_servers.rst:49 +msgid "Connect Twilio to Odoo" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:160 -msgid "Views and links from other apps" +#: ../../content/applications/productivity/discuss/ice_servers.rst:51 +msgid "Open the Odoo database and go to :menuselection:`Settings --> General Settings --> Discuss`. Check the box next to :guilabel:`Use Twilio ICE servers` and enter the Twilio account's :guilabel:`Account SID` and :guilabel:`Auth Token`. Finally, click :guilabel:`Save` to apply these changes." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:162 -msgid "To insert a view or a view link into an article, follow these steps:" +#: ../../content/applications/productivity/discuss/ice_servers.rst:-1 +msgid "Enable the \"Use Twilio ICE servers\" option in Odoo General Settings." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:164 -msgid "Go to the desired app and select the preferred view." +#: ../../content/applications/productivity/discuss/ice_servers.rst:61 +msgid "Define a list of custom ICE servers" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:165 -msgid "Click the :icon:`fa-cog` :guilabel:`(cog)` icon, then select :menuselection:`Knowledge --> Insert view in article` or :guilabel:`Insert link in article`." +#: ../../content/applications/productivity/discuss/ice_servers.rst:63 +msgid "This step is not required for the Twilio configuration. However, if Twilio is not configured or is not working at any given moment, Odoo will fall back on the custom ICE servers list. The user must define the list of custom ICE servers." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:167 -msgid "Choose the article to insert the view or link to." +#: ../../content/applications/productivity/discuss/ice_servers.rst:67 +msgid "In :menuselection:`Settings --> General Settings --> Discuss`, click the :guilabel:`ICE Servers` button under :guilabel:`Custom ICE server list`." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:170 -msgid "Once the view or link is inserted:" +#: ../../content/applications/productivity/discuss/ice_servers.rst:-1 +msgid "The \"ICE Servers\" button in Odoo General Settings." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:172 -msgid "Users without access to the view cannot see it in Knowledge, even if they can access the article." +#: ../../content/applications/productivity/discuss/ice_servers.rst:74 +msgid "Odoo will redirect to the :guilabel:`ICE servers` page. Here you can define your own list of ICE servers." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:174 -msgid "Clicking the inserted link opens a pop-up with the view's name next to the :icon:`fa-clipboard` (:guilabel:`Copy Link`), :icon:`fa-pencil-square-o` (:guilabel:`Edit Link`), and :icon:`fa-chain-broken` (:guilabel:`Remove Link`) icons. Click the name inside the pop-up to open the linked view." +#: ../../content/applications/productivity/discuss/ice_servers.rst:-1 +msgid "The \"ICE servers\" page in Odoo." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:180 -msgid "Article management" +#: ../../content/applications/productivity/discuss/ice_servers.rst:82 +msgid "For on-premise instances of Odoo, the package `python3-gevent` is necessary for the Discuss module to run calls/video calls on Ubuntu (Linux) servers." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:182 -msgid "Knowledge allows for managing articles, which consists of :ref:`structuring `, :ref:`sharing `, :ref:`removing `, and :ref:`retrieving ` them." +#: ../../content/applications/productivity/discuss/team_communication.rst:3 +msgid "Use channels for team communication" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:188 -msgid "Basic management" +#: ../../content/applications/productivity/discuss/team_communication.rst:5 +msgid "Use channels in the Odoo **Discuss** app to organize discussions between individual teams, departments, projects, or any other group that requires regular communication. With channels, employees can communicate inside dedicated spaces within the Odoo database around specific topics, updates, and latest developments having to do with the organization." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:190 -msgid "Click the :icon:`fa-ellipsis-v` (:guilabel:`ellipsis`) icon and select one of the following actions for basic article management:" +#: ../../content/applications/productivity/discuss/team_communication.rst:11 +msgid "Create a new channel" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:193 -msgid ":guilabel:`Move To`: Select the article to move under a category or another article, then click :guilabel:`Move Article`." +#: ../../content/applications/productivity/discuss/team_communication.rst:13 +msgid "To create a new channel, navigate to the :menuselection:`Discuss` app, and then click on the :icon:`fa-plus` :guilabel:`(plus)` icon next to the :guilabel:`Channels` heading in the left-side menu." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:195 -msgid ":guilabel:`Lock Content`: Lock the article to stop edits. Click :guilabel:`Unlock` to edit again." +#: ../../content/applications/productivity/discuss/team_communication.rst:-1 +msgid "View of discuss's sidebar and a channel being created in Odoo Discuss." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:196 -msgid ":guilabel:`Create a Copy`: Copy the article under the :guilabel:`Private` section." +#: ../../content/applications/productivity/discuss/team_communication.rst:20 +msgid "The channel's :guilabel:`Group Name`, :guilabel:`Description`, and :guilabel:`Privacy` settings can be modified by clicking on the channel's settings, represented by a :icon:`fa-cog` :guilabel:`(gear)` icon in the left sidebar menu, next to the channel's name." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:197 -msgid ":guilabel:`Open Version History`: Restore a previous version of the article." +#: ../../content/applications/productivity/discuss/team_communication.rst:25 +msgid "Privacy tab" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:198 -msgid ":guilabel:`Export`: Open the browser's print function." +#: ../../content/applications/productivity/discuss/team_communication.rst:27 +msgid "To control which users can join a channel, open the channel's setting page and navigate to the :guilabel:`Privacy` tab." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:199 -msgid ":guilabel:`Add to Templates`: Add the article to the list of templates." +#: ../../content/applications/productivity/discuss/team_communication.rst:-1 +msgid "View of a channel's settings form in Odoo Discuss." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:200 -msgid ":guilabel:`Send to Trash`: Move the article to the trash." +#: ../../content/applications/productivity/discuss/team_communication.rst:33 +msgid "To limit access of the channel to a specific group, select an option from the :guilabel:`Authorized Group` drop-down menu." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:203 -msgid "The following actions only apply to :ref:`nested articles ` and :ref:`article items `:" +#: ../../content/applications/productivity/discuss/team_communication.rst:36 +msgid "To automatically add members of a group as followers of the channel, click the :guilabel:`Auto Subscribe Groups` field, and select one or more groups from the list." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:207 -msgid ":guilabel:`Convert into Article Item`: Convert the nested article into an :ref:`article item `." +#: ../../content/applications/productivity/discuss/team_communication.rst:40 +msgid "Users who are automatically added as followers can manually edit their subscription to the channel, if necessary." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:209 -msgid ":guilabel:`Convert into Article`: Convert the article item into a :ref:`nested article `." +#: ../../content/applications/productivity/discuss/team_communication.rst:43 +msgid "The option to :guilabel:`Auto Subscribe Groups` automatically adds users of that particular user group as followers. In other words, while :guilabel:`Authorized Groups` limits which users can access the channel, :guilabel:`Auto Subscribe Groups` automatically adds users as members as long as they are part of a specific user group. The same is true for :guilabel:`Auto Subscribe Departments`." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:213 -msgid "Move an article directly from the sidebar tree by dragging and dropping it under another article or category." +#: ../../content/applications/productivity/discuss/team_communication.rst:49 +msgid "Invite members to a channel" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:215 -msgid "Click the :icon:`fa-search` (:guilabel:`serch`) icon in the top-left corner or press `CTRL` / `CMD` + `K` to open the command palette, then type `?` to search for visible articles or `$` for :ref:`hidden articles `. Alternatively, hover over the :guilabel:`Workspace` category and click the :icon:`fa-eye` (:guilabel:`eye`) icon to find hidden articles." +#: ../../content/applications/productivity/discuss/team_communication.rst:51 +msgid "To invite members to a channel, click on the :guilabel:`Members` tab. Click :guilabel:`Add a line`, then select either a :guilabel:`Partner` or :guilabel:`Guest` from the drop-down menu." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:224 -msgid "Structuring" +#: ../../content/applications/productivity/discuss/team_communication.rst:54 +msgid "Inviting members can also be done from the **Discuss** app's main dashboard, by selecting the channel, clicking the :icon:`fa-user-plus` :guilabel:`(add user)` icon in the top-right corner of the dashboard, and finally clicking :guilabel:`Invite to Channel` once all the users have been added." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:227 -msgid "Sidebar structure" +#: ../../content/applications/productivity/discuss/team_communication.rst:-1 +msgid "View of Discuss' option to invite members in Odoo Discuss." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:229 -msgid "The sidebar structure follows a hierarchy with parent and nested articles organized within the following categories:" +#: ../../content/applications/productivity/discuss/team_communication.rst:63 +msgid "Quick search bar" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:232 -msgid "The :guilabel:`Favorites` category displays all articles marked as favorites." +#: ../../content/applications/productivity/discuss/team_communication.rst:65 +msgid "Once at least 20 channels, direct messages, or live chat conversations are pinned in the sidebar, a :guilabel:`Quick search…` bar is displayed. This feature is a convenient way to filter conversations and find relevant communications." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:233 -msgid "The :guilabel:`Workspace` category displays articles accessible to all internal users." +#: ../../content/applications/productivity/discuss/team_communication.rst:-1 +msgid "View of the Discuss' sidebar emphasizing the quick search bar in Odoo Discuss." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:234 -msgid "The :guilabel:`Shared` category displays articles shared with specific users." +#: ../../content/applications/productivity/discuss/team_communication.rst:73 +msgid "Finding channels" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:235 -msgid "The :guilabel:`Private` category displays personal articles." +#: ../../content/applications/productivity/discuss/team_communication.rst:75 +msgid "To view all available channels, click on the :icon:`fa-cog` :guilabel:`(gear)` icon to the right of the :guilabel:`CHANNELS` menu. Users can join or leave channels on this screen by clicking the :guilabel:`Join` or :guilabel:`Leave` buttons that appear in the channel boxes." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:238 -msgid "To mark an article as a favorite and display the :guilabel:`Favorites` category, click the :icon:`fa-star-o` (:guilabel:`star`) icon in the top-right menu." +#: ../../content/applications/productivity/discuss/team_communication.rst:79 +msgid "There is also the ability to apply filtering criteria and save them for later use. The :guilabel:`Search...` function accepts wildcards by using the underscore character [ `_` ], and specific searches can be saved by using the :menuselection:`Favorites --> Save Current Search` drop-down menu." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:242 -msgid "Article structure" +#: ../../content/applications/productivity/discuss/team_communication.rst:85 +msgid "Linking channel in chatter" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:244 -msgid "Nested articles inherit their parent's :ref:`access rights `, and :ref:`properties ` are applied to a group of nested articles under the same parent." +#: ../../content/applications/productivity/discuss/team_communication.rst:87 +msgid "Channels can be linked in the *chatter* of a record to share relvant discussions. To do so, type: `#` and the channel name. Click or press enter on the *Channel* name. Upon logging the note a link to the channel appears. After clicking on the link a chat window with the channel conversation pops up in the lower right corner of the screen." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:251 -msgid "Sharing" -msgstr "" - -#: ../../content/applications/productivity/knowledge.rst:253 -msgid "Sharing an article involves configuring :ref:`access rights `, inviting :ref:`users `, providing :ref:`online access `, and determining its visibility in the :ref:`sidebar tree `." +#: ../../content/applications/productivity/discuss/team_communication.rst:92 +msgid "Users are able to contribute to this group channel by typing messages in window and pressing *enter*." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:258 -msgid "Articles listed under a category in the sidebar tree are **visible**. Articles that certain users must search for through the command palette due to restricted access rights are **hidden**." +#: ../../content/applications/productivity/discuss/team_communication.rst:-1 +msgid "Channel linked in chatter." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:264 -msgid "Configure access rights" +#: ../../content/applications/productivity/discuss/team_communication.rst:99 +msgid ":doc:`../discuss`" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:266 -msgid "Click :guilabel:`Share` in the top-right menu to configure access rights." +#: ../../content/applications/productivity/documents.rst:3 +msgid "Documents" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:269 -msgid "Default access rights" +#: ../../content/applications/productivity/documents.rst:5 +msgid "**Odoo Documents** allows you to store, view, and manage files within Odoo." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:278 -#: ../../content/applications/productivity/knowledge.rst:300 -msgid "Setting" +#: ../../content/applications/productivity/documents.rst:7 +msgid "Folders and documents are organized into sections accessible from the tree on the left. The following sections are available:" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:280 -msgid ":guilabel:`Can edit`" +#: ../../content/applications/productivity/documents.rst:10 +msgid ":guilabel:`All`: displays all folders and files the user has access to." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:281 -msgid "Allow all internal users to edit the article." +#: ../../content/applications/productivity/documents.rst:11 +msgid ":icon:`fa-building` :guilabel:`Company`: contains folders and files shared across the company. Access is determined by the :ref:`access rights ` defined for the folder and file." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:282 -msgid ":guilabel:`Can read`" +#: ../../content/applications/productivity/documents.rst:14 +msgid ":icon:`fa-hdd-o` :guilabel:`My Drive`: the user's personal workspace for organizing and accessing files and folders they own or have uploaded." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:283 -msgid "Allow all internal users to read the article only." +#: ../../content/applications/productivity/documents.rst:16 +msgid ":icon:`fa-users` :guilabel:`Shared with me`: includes files that have been shared with the user but are not part of any parent folder they have access to." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:284 -msgid ":guilabel:`No access`" +#: ../../content/applications/productivity/documents.rst:18 +msgid ":icon:`fa-clock-o` :guilabel:`Recent`: shows recently modified files the user has permission to view or edit." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:285 -msgid "Prevent all users from accessing the article in the sidebar tree or searching in the command palette." +#: ../../content/applications/productivity/documents.rst:20 +msgid ":icon:`fa-trash` :guilabel:`Trash`: stores :ref:`deleted files and folders `." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:291 -msgid "Visibility" +#: ../../content/applications/productivity/documents.rst:22 +msgid "Click a section in the tree to view its contents. Select a folder to open it, :ref:`manage it `, and access its files." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:302 -msgid ":guilabel:`Everyone`" +#: ../../content/applications/productivity/documents.rst:25 +msgid "Click a file to open it and :ref:`take available actions `. To close the file, press **Esc** or click the :icon:`fa-remove` (:guilabel:`close`) icon. You can also drag and drop a file or folder to move it to another folder or section." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:303 -msgid "The article is visible in the sidebar tree to all internal users." +#: ../../content/applications/productivity/documents.rst:30 +msgid "Use the :ref:`search bar ` to quickly find specific items." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:304 -msgid ":guilabel:`Members`" +#: ../../content/applications/productivity/documents.rst:31 +msgid "The :doc:`chatter ` tracks changes to folders and files and allows communication with internal users and external contacts. Open the :ref:`Details panel ` to access it." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:305 -msgid "The article is only visible in the sidebar tree to :ref:`invited users `, while other users can find it using the hidden article search by pressing `CTRL` / `CMD` + `K` and typing `$`." +#: ../../content/applications/productivity/documents.rst:36 +msgid ":doc:`Sign documentation `" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:310 -msgid "The :guilabel:`Default Access Rights` apply to all internal users except invited users; specific access rights override default access rights." +#: ../../content/applications/productivity/documents.rst:44 +msgid "Deletion delay" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:312 -msgid "Selecting `Can edit` or `Can read` in the :guilabel:`Default Access Rights` moves the article to the :guilabel:`Workspace` category while selecting `No access` moves it to the :guilabel:`Private` category if it is not shared with an invited user." +#: ../../content/applications/productivity/documents.rst:46 +msgid "By default, items moved to the trash remain there for 30 days before being permanently deleted. To adjust this delay, go to :menuselection:`Documents --> Configuration --> Settings` and edit the :guilabel:`Deletion delay (days)` field." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:315 -msgid "The :guilabel:`Visibility` setting only applies to :guilabel:`Workspace` articles." +#: ../../content/applications/productivity/documents.rst:53 +msgid "File centralization" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:320 -msgid "Invite specific users" +#: ../../content/applications/productivity/documents.rst:55 +msgid "File centralization allows for automatically organizing all files associated with a specific app into dedicated folders. It is enabled by default for each app upon installation. To disable file centralization, modify the default folder, or configure the tags to be added to the app-specific files, go to :menuselection:`Documents --> Configuration --> Settings`, and edit the relevant setting under the :guilabel:`File Centralization` section." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:322 -msgid "To grant specific internal or portal users access to a private article or to share a :guilabel:`Workspace` article with a portal user, follow these steps:" +#: ../../content/applications/productivity/documents.rst:62 +msgid "File centralization cannot be disabled for :guilabel:`Accounting` documents. A sub-folder is automatically created for each journal type (e.g., Sales, Purchase, Bank, etc.), and the journal name is added as a tag on each document. Click :guilabel:`Journals` to edit the list of journals to synchronize and define their corresponding folders and tags." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:325 -msgid "Click :guilabel:`Share` in the top-right menu." +#: ../../content/applications/productivity/documents.rst:66 +msgid "For :guilabel:`Human Resources` files, a sub-folder is automatically created for each employee, and specific tags are added to the files based on the document type (e.g., :guilabel:`Contracts`, :guilabel:`Payslips`, etc.). You can also create additional :guilabel:`Employee Subfolders` automatically by entering the desired folder names, separated by commas." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:326 -#: ../../content/applications/productivity/knowledge.rst:328 -msgid "Click :guilabel:`Invite`." +#: ../../content/applications/productivity/documents.rst:73 +msgid "Changing the folder or tags only affects new files; existing files remain unchanged." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:327 -msgid "Select the preferred :guilabel:`Permission` and add users in the :guilabel:`Recipients` field." +#: ../../content/applications/productivity/documents.rst:74 +msgid "When file centralization is enabled for an app, deleting a record in that app moves its attachments to the trash in the Documents app." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:333 -msgid "Generate article URL" +#: ../../content/applications/productivity/documents.rst:80 +msgid "Folders" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:335 -msgid "Click :guilabel:`Share` and activate the :guilabel:`Share to web` toggle to generate a URL. Click :guilabel:`Copy Link` to copy the article's URL." +#: ../../content/applications/productivity/documents.rst:82 +msgid "You can organize files in folders available in the :icon:`fa-building` :guilabel:`Company` or :icon:`fa-hdd-o` :guilabel:`My Drive` sections." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:339 -msgid "If an article contains :ref:`inserted views `, users with the URL do not see them unless they can access the inserted content." +#: ../../content/applications/productivity/documents.rst:85 +msgid "To create a folder, select the desired section in the tree, click :guilabel:`New`, and select :guilabel:`Folder`. In the pop-up, enter the folder's :guilabel:`Name` and click :guilabel:`Save`. To create a sub-folder, select the parent folder first, then follow the same steps." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:341 -msgid "Having the Website app is necessary to share an article's URL." +#: ../../content/applications/productivity/documents.rst:90 +msgid "Some folders and sub-folders are created automatically based on the :ref:`file centralization settings `." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:346 -msgid "Removal" +#: ../../content/applications/productivity/documents.rst:93 +msgid "To manage a folder or sub-folder, select it and click the :icon:`fa-cog` (:guilabel:`Actions`) icon above the tree. The following options are available in the menu:" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:348 -msgid "Removing an article involves deleting or archiving it." +#: ../../content/applications/productivity/documents.rst:96 +msgid ":icon:`fa-download` :guilabel:`Download`: Download the folder as a .zip file, including its files and sub-folders." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:351 -msgid "Delete an article" +#: ../../content/applications/productivity/documents.rst:98 +msgid ":icon:`fa-pencil-square-o` :guilabel:`Rename`: Modify the folder's name." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:353 -msgid "Select an article in the sidebar tree and click the :icon:`fa-ellipsis-v` (:guilabel:`ellipsis`) icon, then :guilabel:`Send to Trash`. Alternatively, hold click the article and drag it to the :guilabel:`Drop here to delete this article` at the bottom left corner. The article is moved to the trash for 30 days before being permanently deleted." +#: ../../content/applications/productivity/documents.rst:99 +msgid ":icon:`fa-share-alt` :guilabel:`Share`: :ref:`Share the folder and manage its access rights `." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:358 -msgid "To permanently delete an article, click :guilabel:`Articles` in the top-left menu, select an article, and click :menuselection:`Actions --> Delete --> Delete`." +#: ../../content/applications/productivity/documents.rst:101 +msgid ":icon:`fa-star-o` :guilabel:`Add star`: Mark a folder as a favorite for quicker access. This setting is user-specific and does not affect other users' workspaces. You can then use the :ref:`Starred filter ` to navigate to your favorite folders quickly." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:362 -msgid "To restore a trashed article, click :guilabel:`Open the Trash` at the bottom of the sidebar tree, select an article, and click :guilabel:`Restore`. Alternatively, click :guilabel:`Articles` in the top-left menu. In the search bar, click :menuselection:`Filters --> Trashed`. Click the article, then :guilabel:`Restore`." +#: ../../content/applications/productivity/documents.rst:104 +msgid ":icon:`fa-info-circle` :guilabel:`Info & Tags`: View the folder's :ref:`details ` and chatter." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:368 -msgid "Archive an article" +#: ../../content/applications/productivity/documents.rst:106 +msgid ":icon:`fa-trash` :guilabel:`Move to trash`: Move the folder and its content to the :ref:`trash `." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:370 -msgid "Click :guilabel:`Articles`, select an article, and click :menuselection:`Actions --> Archive --> Archive`." +#: ../../content/applications/productivity/documents.rst:108 +msgid ":icon:`fa-cog` :guilabel:`Actions on Select`: Define the server actions that are available (as buttons) for the files in the folder. Click an action to add or remove it. Click :guilabel:`Add Custom Action` to :ref:`create a new one `." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:374 -msgid "To restore an archived article, click :guilabel:`Articles`. In the search bar, click :menuselection:`Filters --> Archived`. Select the article and go to :menuselection:`Actions --> Unarchive`." +#: ../../content/applications/productivity/documents.rst:111 +msgid ":icon:`fa-cog` :guilabel:`Automations`: Create :doc:`automation rules `." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:381 -msgid "Retrieval" +#: ../../content/applications/productivity/documents.rst:115 +msgid "Setting up automation rules requires activating :doc:`/applications/studio`, which may impact your `pricing plan `_." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:383 -msgid "Retrieving Knowledge articles consists of accessing them from various Odoo apps or restoring previous versions." +#: ../../content/applications/productivity/documents.rst:118 +msgid ":guilabel:`AI Auto-sort`: Use Odoo AI to automatically organize the files in the folder and trigger actions based on the provided AI prompt. Add the corresponding actions for your prompt in the lower section of the popup. This option requires the **Odoo AI** app to be installed." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:387 -msgid "Access articles from various apps" +#: ../../content/applications/productivity/documents.rst:123 +#: ../../content/applications/productivity/documents.rst:197 +msgid "Switch to the list view to:" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:389 -msgid "Knowledge articles are accessible from the :ref:`form view ` of various apps. Click the :icon:`fa-bookmark` :guilabel:`(Knowledge)` icon in the top right corner to open the command palette, then choose one of the following search methods:" +#: ../../content/applications/productivity/documents.rst:125 +msgid "manage multiple folders at once." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:393 -msgid ":guilabel:`Search for an article`: start typing the text to execute a semantic search that identifies relevant article information." +#: ../../content/applications/productivity/documents.rst:126 +msgid ":icon:`fa-upload` :guilabel:`Export` or :icon:`oi-view-list` :guilabel:`Insert in spreadsheet` one or multiple folders." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:395 -msgid ":guilabel:`Advanced Search`: after typing the text in the search bar, click :guilabel:`Advanced Search` to perform a parametric search with options to filter, group, or save articles." +#: ../../content/applications/productivity/documents.rst:128 +msgid "quickly execute actions such as :guilabel:`Share`, :guilabel:`Download`, :guilabel:`Rename`, etc. Hover over a folder line and click the corresponding icon at the end of the line to perform the desired action." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:399 -#: ../../content/applications/productivity/spreadsheet.rst:140 -msgid "Version history" +#: ../../content/applications/productivity/documents.rst:135 +msgid "Files" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:401 -msgid "To retrieve a previous version of an article, select it in the sidebar tree and click the :icon:`fa-ellipsis-v` (:guilabel:`ellipsis`) icon, then the :icon:`fa-history` (:guilabel:`history`) icon to open the version history. Select a version and click :guilabel:`Restore history`." +#: ../../content/applications/productivity/documents.rst:137 +msgid "To upload a file, select the desired folder in the tree, click :guilabel:`New`, and select :guilabel:`Upload`." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:406 -msgid "In the version history, the :guilabel:`Content` tab shows the selected version, while the :guilabel:`Comparison` tab displays the differences between the article's previous and current versions." +#: ../../content/applications/productivity/documents.rst:141 +msgid "On Odoo Online databases, each uploaded file must not exceed 64MB." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:413 -msgid "Properties" +#: ../../content/applications/productivity/documents.rst:142 +msgid "You can also drag and drop a file from your computer to the desired folder within the Documents app." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:415 -msgid "Properties are custom fields for storing and managing information that users with `Can edit` :ref:`access rights ` can add to :ref:`nested articles ` or :ref:`article items `." +#: ../../content/applications/productivity/documents.rst:146 +msgid "URL links" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:420 -msgid "To add a property, click the :icon:`fa-ellipsis-v` (:guilabel:`ellipsis`) icon, then :menuselection:`Add Properties --> Add a Property`, enter a :guilabel:`Label`, and select a :guilabel:`Field Type`." +#: ../../content/applications/productivity/documents.rst:148 +msgid "To add a link to a URL (e.g., a video) and make it accessible from a folder, click :guilabel:`New` and select :guilabel:`Link`. Enter the :guilabel:`URL`, add a :guilabel:`Name`, and select the appropriate :guilabel:`Folder`." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:424 -msgid "To learn more about properties and field types, go to :doc:`Property fields `." +#: ../../content/applications/productivity/documents.rst:155 +msgid "Spreadsheets" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:428 -msgid "Click outside the property field window to save a property." +#: ../../content/applications/productivity/documents.rst:157 +msgid "To create a spreadsheet, click :guilabel:`New` and select :guilabel:`Spreadsheet`." msgstr "" -#: ../../content/applications/productivity/knowledge.rst:429 -msgid "To remove a property, hover over its name, click the :icon:`fa-pencil` (:guilabel:`pencil`) icon, then click :menuselection:`Delete --> Delete`. Deleting a property is permanent, and deleting all properties removes the property sidebar panel." +#: ../../content/applications/productivity/documents.rst:160 +msgid ":doc:`Spreadsheet documentation `" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:434 -msgid "Hover over the property name and click the :icon:`fa-pencil` (:guilabel:`pencil`) icon to edit it or the :icon:`oi-draggable` (:guilabel:`drag handle`) icon to move it above or below another property." +#: ../../content/applications/productivity/documents.rst:163 +msgid "Managing files" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:437 -msgid "Tick :guilabel:`Display in Cards` to show the properties in an :ref:`article item's view ` that is visible from a parent article." +#: ../../content/applications/productivity/documents.rst:165 +msgid "Several buttons are available in the top bar when opening a file:" msgstr "" -#: ../../content/applications/productivity/knowledge.rst:439 -msgid "Click the :icon:`fa-cogs` (:guilabel:`cogs`) icon to hide the property sidebar panel. Exiting and returning to the article causes the panel to reappear." +#: ../../content/applications/productivity/documents.rst:167 +msgid "the :icon:`fa-cog` :guilabel:`Actions` menu, which includes the options described below" msgstr "" -#: ../../content/applications/productivity/sign.rst:3 -msgid "Sign" +#: ../../content/applications/productivity/documents.rst:168 +msgid ":guilabel:`Share`: to :ref:`share the file and manage its access rights `" msgstr "" -#: ../../content/applications/productivity/sign.rst:5 -msgid "**Odoo Sign** allows you to send, sign, and approve documents online, using electronic signatures." +#: ../../content/applications/productivity/documents.rst:169 +msgid ":guilabel:`Download`" msgstr "" -#: ../../content/applications/productivity/sign.rst:7 -msgid "An **electronic signature** shows a person's agreement to the content of a document. Just like a handwritten signature, the electronic one represents a legal bounding by the terms of the signed document." +#: ../../content/applications/productivity/documents.rst:170 +msgid "any :ref:`buttons defined for the folder `" msgstr "" -#: ../../content/applications/productivity/sign.rst:11 -msgid "With Sign, you can upload any PDF file and add fields to it. These fields can be automatically filled in with the user's details present in your database." +#: ../../content/applications/productivity/documents.rst:172 +msgid "The following options are available in the :icon:`fa-cog` :guilabel:`Actions` menu:" msgstr "" -#: ../../content/applications/productivity/sign.rst:15 -msgid "`Odoo Sign: product page `_" +#: ../../content/applications/productivity/documents.rst:174 +msgid ":icon:`fa-files-o` :guilabel:`Duplicate`: Create a copy of the file. In the popup, select or create the destination folder, then click :guilabel:`Duplicate in` *destination folder's name*." msgstr "" -#: ../../content/applications/productivity/sign.rst:16 -msgid "`Odoo Tutorials: Sign [video] `_" +#: ../../content/applications/productivity/documents.rst:176 +msgid ":icon:`fa-trash` :guilabel:`Move to Trash`: Move the file to the :ref:`trash `." msgstr "" -#: ../../content/applications/productivity/sign.rst:19 -msgid "Validity of electronic signatures" +#: ../../content/applications/productivity/documents.rst:178 +msgid ":icon:`fa-pencil-square-o` :guilabel:`Rename`" msgstr "" -#: ../../content/applications/productivity/sign.rst:21 -msgid "Documents signed via the Sign app are valid electronic signatures in the European Union and the United States of America. They also meet the requirements for electronic signatures in most countries. The legal validity of electronic signatures generated by Odoo depends on your country's legislation. Companies doing business abroad should also consider other countries' electronic signature laws." +#: ../../content/applications/productivity/documents.rst:179 +msgid ":icon:`fa-info-circle` :guilabel:`Info & tags`: View the file's :ref:`details ` and chatter." msgstr "" -#: ../../content/applications/productivity/sign.rst:28 -msgid "The below information has no legal value; it is only provided for general informational purposes. As laws governing electronic signatures rapidly evolve, we cannot guarantee that all information is up-to-date. We advise contacting a local attorney for legal advice regarding electronic signature compliance and validity." +#: ../../content/applications/productivity/documents.rst:181 +msgid ":icon:`fa-sign-in` :guilabel:`Move`: Move the file to another folder. In the popup, select or create the destination folder, then click :guilabel:`Move to` *destination folder's name*." msgstr "" -#: ../../content/applications/productivity/sign.rst:34 -msgid "European Union" +#: ../../content/applications/productivity/documents.rst:183 +msgid ":icon:`fa-external-link-square` :guilabel:`Create shortcut`: A shortcut is a pointer to a file, allowing access from multiple folders without duplicating the file. In the popup, select or create the destination folder, then click :guilabel:`Create a shortcut in` *destination folder's name*." msgstr "" -#: ../../content/applications/productivity/sign.rst:36 -msgid "The `eIDAS regulation `_ establishes the framework for electronic signatures in the `27 member states of the European Union `_. It distinguishes three types of electronic signatures:" +#: ../../content/applications/productivity/documents.rst:187 +msgid ":icon:`fa-history` :guilabel:`Manage versions`: View all versions of the file in upload order, download a specific version, or upload a new one as needed." msgstr "" -#: ../../content/applications/productivity/sign.rst:41 -msgid "Simple electronic signatures" +#: ../../content/applications/productivity/documents.rst:189 +msgid ":icon:`fa-lock` :guilabel:`Lock`: Protect the file from any modifications." msgstr "" -#: ../../content/applications/productivity/sign.rst:42 -msgid "Advanced electronic signatures" +#: ../../content/applications/productivity/documents.rst:190 +msgid ":icon:`fa-link` :guilabel:`Copy Links`: Copy the file's URL for sharing. Access is controlled based on the file's :ref:`access rights `." msgstr "" -#: ../../content/applications/productivity/sign.rst:43 -msgid "Qualified electronic signatures" +#: ../../content/applications/productivity/documents.rst:192 +msgid ":icon:`fa-scissors` :guilabel:`Split PDF`: :ref:`Split a PDF file `." msgstr "" -#: ../../content/applications/productivity/sign.rst:45 -msgid "Odoo generates the first type, **simple electronic signatures**; these signatures are legally valid in the EU, as stated in the eIDAS regulation." +#: ../../content/applications/productivity/documents.rst:195 +msgid "You can use folder-specific :ref:`email aliases ` to automatically save files sent to the alias into the corresponding folder." msgstr "" -#: ../../content/applications/productivity/sign.rst:48 -msgid "Electronic signatures may not be automatically recognized as valid. You may need to bring supporting evidence of a signature's validity. While the Sign app provides a simple electronic signature, some supporting evidence is automatically collected during the signature process, such as:" +#: ../../content/applications/productivity/documents.rst:199 +msgid "manage multiple files at once." msgstr "" -#: ../../content/applications/productivity/sign.rst:53 -msgid "Email and SMS validation (if enabled)" +#: ../../content/applications/productivity/documents.rst:200 +msgid ":icon:`fa-upload` :guilabel:`Export` or :icon:`oi-view-list` :guilabel:`Insert in spreadsheet` one or multiple files." msgstr "" -#: ../../content/applications/productivity/sign.rst:54 -msgid "Strong identity proof through itsme® (available in Belgium and the Netherlands)" +#: ../../content/applications/productivity/documents.rst:202 +msgid "quickly perform actions such as :guilabel:`Share`, :guilabel:`Download`, :guilabel:`Rename`, etc. Hover over a file line and click the corresponding icon at the end of the line to perform the desired action." msgstr "" -#: ../../content/applications/productivity/sign.rst:55 -msgid "Timestamped, IP and geographically traceable access logs to the documents and their associated signatures" +#: ../../content/applications/productivity/documents.rst:209 +msgid "Splitting and merging PDFs" msgstr "" -#: ../../content/applications/productivity/sign.rst:57 -msgid "Document traceability and inalterability (any alteration made to a signed document is detected by Odoo with the use of cryptographic proofs)" +#: ../../content/applications/productivity/documents.rst:211 +msgid "To divide a PDF into individual or groups of pages, open the PDF, click the :icon:`fa-cog` :guilabel:`Actions` button, and select :icon:`fa-scissors` :guilabel:`Split PDF`. Click the :icon:`fa-scissors` (:guilabel:`scissors`) icon between pages to remove a split if needed, then click :guilabel:`Split` to confirm." msgstr "" -#: ../../content/applications/productivity/sign.rst:61 -msgid ":doc:`Documentation for Germany `" +#: ../../content/applications/productivity/documents.rst:-1 +msgid "Split a PDF" msgstr "" -#: ../../content/applications/productivity/sign.rst:64 -msgid "United States of America" +#: ../../content/applications/productivity/documents.rst:219 +msgid "To merge PDF files, follow these steps:" msgstr "" -#: ../../content/applications/productivity/sign.rst:66 -msgid "The `ESIGN Act (Electronic Signatures in Global and National Commerce Act) `_, at the interstate and international levels, and the `UETA (Uniform Electronic Transactions Act) `_, at the state level, provide the legal framework for electronic signatures. Note that `Illinois `_ and `New York `_ have not adopted the UETA, but similar acts instead." +#: ../../content/applications/productivity/documents.rst:221 +msgid "Navigate to the folder containing the files you want to merge." msgstr "" -#: ../../content/applications/productivity/sign.rst:75 -msgid "Overall, to be recognized as valid, electronic signatures have to meet five criteria:" +#: ../../content/applications/productivity/documents.rst:222 +msgid "Hold down **Ctrl** and click the relevant files." msgstr "" -#: ../../content/applications/productivity/sign.rst:77 -msgid "The signer must show a clear **intent to sign**. For example, using a mouse to draw a signature can show intent. The signer must also have the option to opt out of the electronic document." +#: ../../content/applications/productivity/documents.rst:223 +msgid "Click the :icon:`fa-cog` :guilabel:`Actions` button and select :icon:`fa-scissors` :guilabel:`Merge PDFs`." msgstr "" -#: ../../content/applications/productivity/sign.rst:79 -msgid "The signer must first express or imply their **consent to conduct business electronically**." +#: ../../content/applications/productivity/documents.rst:225 +msgid "If needed, click :guilabel:`Add file` to browse and select a PDF file from your computer." msgstr "" -#: ../../content/applications/productivity/sign.rst:80 -msgid "**The signature must be clearly attributed**. In Odoo, metadata, such as the signer's IP address, is added to the signature, which can be used as supporting evidence." +#: ../../content/applications/productivity/documents.rst:226 +msgid "Click the :icon:`fa-scissors` (:guilabel:`scissors`) icon between the files." msgstr "" -#: ../../content/applications/productivity/sign.rst:82 -msgid "**The signature must be associated with the signed document**, for example, by keeping a record detailing how the signature was captured." +#: ../../content/applications/productivity/documents.rst:227 +msgid "Click :guilabel:`Split` to merge them." msgstr "" -#: ../../content/applications/productivity/sign.rst:84 -msgid "Electronically signed documents need to be **retained and stored** by all parties involved; for example, by providing the signer either a fully-executed copy or the possibility to download a copy." +#: ../../content/applications/productivity/documents.rst:230 +msgid "The original PDFs are replaced by the merged version." msgstr "" -#: ../../content/applications/productivity/sign.rst:89 -msgid "Other countries" +#: ../../content/applications/productivity/documents.rst:233 +msgid "Press **Shift + S** to add or remove all splits between pages." msgstr "" -#: ../../content/applications/productivity/sign.rst:91 -msgid ":doc:`Algeria `" +#: ../../content/applications/productivity/documents.rst:234 +msgid "To delete a specific page, select the page, then click :guilabel:`Delete`." msgstr "" -#: ../../content/applications/productivity/sign.rst:92 -msgid ":doc:`Angola `" +#: ../../content/applications/productivity/documents.rst:239 +msgid "Requesting files" msgstr "" -#: ../../content/applications/productivity/sign.rst:93 -msgid ":doc:`Argentina `" +#: ../../content/applications/productivity/documents.rst:241 +msgid "Request files from users as a reminder for them to upload specific files. To do so, follow these steps:" msgstr "" -#: ../../content/applications/productivity/sign.rst:94 -msgid ":doc:`Australia `" +#: ../../content/applications/productivity/documents.rst:244 +msgid "Click :guilabel:`New` and select :guilabel:`Request`." msgstr "" -#: ../../content/applications/productivity/sign.rst:95 -msgid ":doc:`Azerbaijan `" +#: ../../content/applications/productivity/documents.rst:245 +msgid "Enter a :guilabel:`Document Name` and select the person you're requesting it from in the :guilabel:`Request To` field." msgstr "" -#: ../../content/applications/productivity/sign.rst:96 -msgid ":doc:`Bangladesh `" +#: ../../content/applications/productivity/documents.rst:247 +msgid "If needed, set a :guilabel:`Due Date In`, edit the :guilabel:`Folder` where the file should be added, add :guilabel:`Tags`, and write a :guilabel:`Message`." msgstr "" -#: ../../content/applications/productivity/sign.rst:97 -msgid ":doc:`Brazil `" +#: ../../content/applications/productivity/documents.rst:249 +msgid "Click :guilabel:`Request`." msgstr "" -#: ../../content/applications/productivity/sign.rst:98 -msgid ":doc:`Canada `" +#: ../../content/applications/productivity/documents.rst:251 +msgid "A placeholder for the missing file is created in the selected folder. Once the file is available, click the placeholder to upload it." msgstr "" -#: ../../content/applications/productivity/sign.rst:99 -msgid ":doc:`Chile `" +#: ../../content/applications/productivity/documents.rst:255 +msgid "You can also request a document from the :ref:`list of scheduled activities `." msgstr "" -#: ../../content/applications/productivity/sign.rst:100 -msgid ":doc:`China `" +#: ../../content/applications/productivity/documents.rst:257 +msgid "To see the list of all requested files, switch to the Activity view of the Documents app and go to the :guilabel:`Requested Document` column. Click a requested file's date to view its details. You can then:" msgstr "" -#: ../../content/applications/productivity/sign.rst:101 -msgid ":doc:`Colombia `" +#: ../../content/applications/productivity/documents.rst:261 +msgid "Upload a file using the :icon:`fa-upload` (:guilabel:`upload`) button;" msgstr "" -#: ../../content/applications/productivity/sign.rst:102 -msgid ":doc:`Dominican Republic `" +#: ../../content/applications/productivity/documents.rst:262 +msgid "Edit the activity using the :icon:`fa-pencil` (:guilabel:`edit`) button;" msgstr "" -#: ../../content/applications/productivity/sign.rst:103 -msgid ":doc:`Ecuador `" +#: ../../content/applications/productivity/documents.rst:263 +msgid "Cancel the activity using the :icon:`fa-remove` (:guilabel:`cancel`) button;" msgstr "" -#: ../../content/applications/productivity/sign.rst:104 -msgid ":doc:`Egypt `" +#: ../../content/applications/productivity/documents.rst:264 +msgid "Send a reminder email. Click :guilabel:`Preview` to preview the content of the reminder email if needed, then :guilabel:`Send Now`." msgstr "" -#: ../../content/applications/productivity/sign.rst:105 -msgid ":doc:`Ethiopia `" +#: ../../content/applications/productivity/documents.rst:267 +msgid "To send a reminder email for all requested files, click the :icon:`fa-ellipsis-v` (:guilabel:`ellipsis`) icon in the :guilabel:`Requested Document` column and select :guilabel:`Document Request: Reminder`." msgstr "" -#: ../../content/applications/productivity/sign.rst:106 -msgid ":doc:`Guatemala `" +#: ../../content/applications/productivity/documents.rst:-1 +msgid "Send a reminder email from the Activity view" msgstr "" -#: ../../content/applications/productivity/sign.rst:107 -msgid ":doc:`Hong Kong `" +#: ../../content/applications/productivity/documents.rst:277 +msgid "Details panel" msgstr "" -#: ../../content/applications/productivity/sign.rst:108 -msgid ":doc:`India `" +#: ../../content/applications/productivity/documents.rst:279 +msgid "To view a folder's or file's information and tags, select the folder or file, then click the :icon:`fa-cog` icon (for folders) or :icon:`fa-cog` :guilabel:`Actions` button (for files) and select :icon:`fa-info-circle` :guilabel:`Info & Tags`." msgstr "" -#: ../../content/applications/productivity/sign.rst:109 -msgid ":doc:`Indonesia `" +#: ../../content/applications/productivity/documents.rst:284 +msgid "Alternatively, for folders, you can also click the :icon:`fa-info-circle` (:guilabel:`Info & Tags`) button in the upper-right corner next to the view icons." msgstr "" -#: ../../content/applications/productivity/sign.rst:110 -msgid ":doc:`Iran `" +#: ../../content/applications/productivity/documents.rst:287 +msgid "The details panel allows the following:" msgstr "" -#: ../../content/applications/productivity/sign.rst:111 -msgid ":doc:`Iraq `" +#: ../../content/applications/productivity/documents.rst:289 +msgid "Change the file's folder or the folder's name." msgstr "" -#: ../../content/applications/productivity/sign.rst:112 -msgid ":doc:`Israel `" +#: ../../content/applications/productivity/documents.rst:290 +msgid "View the file's or folder's size and the folder's item count." msgstr "" -#: ../../content/applications/productivity/sign.rst:113 -msgid ":doc:`Japan `" +#: ../../content/applications/productivity/documents.rst:291 +msgid "Change the file's or folder's owner and contact. By default, the person who creates a file or folder is set as its owner and granted full access rights to it. To change it, select the required user from the dropdown list. The contact is a person who only has :guilabel:`Viewer` :ref:`access rights ` to the file or folder, e.g., an existing supplier in the database." msgstr "" -#: ../../content/applications/productivity/sign.rst:114 -msgid ":doc:`Kazakhstan `" +#: ../../content/applications/productivity/documents.rst:296 +msgid "Access the :doc:`chatter `." msgstr "" -#: ../../content/applications/productivity/sign.rst:115 -msgid ":doc:`Kenya `" +#: ../../content/applications/productivity/documents.rst:298 +msgid "To close the details panel, click the :icon:`fa-remove` (:guilabel:`remove`) button in the upper-right corner." msgstr "" -#: ../../content/applications/productivity/sign.rst:116 -msgid ":doc:`Kuwait `" +#: ../../content/applications/productivity/documents.rst:302 +msgid "To view a file from their user profile, a user must be set as the contact and have at least :guilabel:`Viewer` :ref:`access `." msgstr "" -#: ../../content/applications/productivity/sign.rst:117 -msgid ":doc:`Malaysia `" +#: ../../content/applications/productivity/documents.rst:308 +msgid "Email aliases" msgstr "" -#: ../../content/applications/productivity/sign.rst:118 -msgid ":doc:`Mexico `" +#: ../../content/applications/productivity/documents.rst:310 +msgid "You can use an email alias to automatically save files sent to the email alias into a specific folder. To set up an email alias for a folder, follow these steps:" msgstr "" -#: ../../content/applications/productivity/sign.rst:119 -msgid ":doc:`Morocco `" +#: ../../content/applications/productivity/documents.rst:313 +msgid "Make sure a :ref:`custom alias domain ` is configured in the :guilabel:`General Settings`." msgstr "" -#: ../../content/applications/productivity/sign.rst:120 -msgid ":doc:`New Zealand `" +#: ../../content/applications/productivity/documents.rst:315 +msgid "Select the folder where files should be saved." msgstr "" -#: ../../content/applications/productivity/sign.rst:121 -msgid ":doc:`Nigeria `" +#: ../../content/applications/productivity/documents.rst:316 +msgid "Click the :icon:`fa-info-circle` (:guilabel:`Info & Tags`) in the upper-right corner next to the view icons." msgstr "" -#: ../../content/applications/productivity/sign.rst:122 -msgid ":doc:`Norway `" +#: ../../content/applications/productivity/documents.rst:318 +msgid "In the details panel, enter the desired email alias." msgstr "" -#: ../../content/applications/productivity/sign.rst:123 -msgid ":doc:`Oman `" +#: ../../content/applications/productivity/documents.rst:319 +msgid "Optionally, specify an :guilabel:`Activity type` and assignee to create an :doc:`activity ` when a file is received via the alias." msgstr "" -#: ../../content/applications/productivity/sign.rst:124 -msgid ":doc:`Pakistan `" +#: ../../content/applications/productivity/documents.rst:321 +msgid "Optionally, select the :ref:`Tags ` to automatically apply to the files created through the alias." msgstr "" -#: ../../content/applications/productivity/sign.rst:125 -msgid ":doc:`Peru `" +#: ../../content/applications/productivity/documents.rst:325 +msgid "Emails sent to the alias without attachments are converted into files, using the email subject as the file name." msgstr "" -#: ../../content/applications/productivity/sign.rst:126 -msgid ":doc:`Philippines `" +#: ../../content/applications/productivity/documents.rst:329 +msgid ":doc:`/applications/general/email_communication/email_servers_inbound`" msgstr "" -#: ../../content/applications/productivity/sign.rst:127 -msgid ":doc:`Qatar `" +#: ../../content/applications/productivity/documents.rst:336 +msgid "Tags help organize and categorize files, making it easier to search and filter them. To configure tags for files, go to :menuselection:`Documents --> Configuration --> Tags`. Click :guilabel:`New` to create a new tag. Enter the :guilabel:`Tag Name`, select a :guilabel:`Color`, and optionally add a :guilabel:`Tooltip` that appears when hovering over the tag." msgstr "" -#: ../../content/applications/productivity/sign.rst:128 -msgid ":doc:`Russia `" +#: ../../content/applications/productivity/documents.rst:341 +msgid "To add tags to a file, open the file, click the :icon:`fa-cog` :guilabel:`Actions`, select :icon:`fa-info-circle` :guilabel:`Info & Tags`, and then, in the details panel, select a tag from the :guilabel:`Tags` dropdown menu (identifiable by its placeholder :guilabel:`Add tags`)." msgstr "" -#: ../../content/applications/productivity/sign.rst:129 -msgid ":doc:`Saudi Arabia `" +#: ../../content/applications/productivity/documents.rst:346 +msgid ":ref:`Alias tags ` can also be used to automatically apply tags to files created through the alias." msgstr "" -#: ../../content/applications/productivity/sign.rst:130 -msgid ":doc:`Singapore `" +#: ../../content/applications/productivity/documents.rst:350 +msgid "Linked records" msgstr "" -#: ../../content/applications/productivity/sign.rst:131 -msgid ":doc:`South Africa `" +#: ../../content/applications/productivity/documents.rst:352 +msgid "To link the file to a specific record, select the appropriate model from the :guilabel:`Linked to` dropdown menu (identifiable by its placeholder :guilabel:`No linked model`), then select the desired record." msgstr "" -#: ../../content/applications/productivity/sign.rst:132 -msgid ":doc:`South Korea `" +#: ../../content/applications/productivity/documents.rst:357 +msgid "If :ref:`file centralization ` is enabled for a specific app, adding a file to the Documents app by uploading an attachment automatically adds the corresponding record in the :guilabel:`Linked to field` of the file." msgstr "" -#: ../../content/applications/productivity/sign.rst:133 -msgid ":doc:`Switzerland `" +#: ../../content/applications/productivity/documents.rst:364 +msgid "Sharing and access rights" msgstr "" -#: ../../content/applications/productivity/sign.rst:134 -msgid ":doc:`Thailand `" +#: ../../content/applications/productivity/documents.rst:367 +msgid "You can only share folders and files and edit their access rights if you have editing rights." msgstr "" -#: ../../content/applications/productivity/sign.rst:135 -msgid ":doc:`Turkey `" +#: ../../content/applications/productivity/documents.rst:369 +msgid "Access rights can be set on:" msgstr "" -#: ../../content/applications/productivity/sign.rst:136 -msgid ":doc:`Ukraine `" +#: ../../content/applications/productivity/documents.rst:371 +msgid "folders: Select the folder, click the :icon:`fa-cog` (:guilabel:`gear`) icon, and select :guilabel:`Share`." msgstr "" -#: ../../content/applications/productivity/sign.rst:137 -msgid ":doc:`United Arab Emirates `" +#: ../../content/applications/productivity/documents.rst:373 +msgid "files: Open the file and click :guilabel:`Share` in the top bar." msgstr "" -#: ../../content/applications/productivity/sign.rst:138 -msgid ":doc:`United Kingdom `" +#: ../../content/applications/productivity/documents.rst:376 +msgid "Switch to the list view to share or manage the access rights of multiple filers or folders at once." msgstr "" -#: ../../content/applications/productivity/sign.rst:139 -msgid ":doc:`Uzbekistan `" +#: ../../content/applications/productivity/documents.rst:379 +msgid "To grant access to specific users or contacts, follow these steps:" msgstr "" -#: ../../content/applications/productivity/sign.rst:140 -msgid ":doc:`Vietnam `" +#: ../../content/applications/productivity/documents.rst:381 +msgid "In the :icon:`fa-user-plus` (:guilabel:`Invite people`) field, select the users or contacts you want to grant access to from the dropdown menu or enter their email address." msgstr "" -#: ../../content/applications/productivity/sign.rst:143 -msgid "Send a document to sign" +#: ../../content/applications/productivity/documents.rst:385 +msgid ":guilabel:`Access through link` must be enabled first before granting access to external contacts." msgstr "" -#: ../../content/applications/productivity/sign.rst:146 -msgid "One-time signature" +#: ../../content/applications/productivity/documents.rst:388 +msgid "Set the :guilabel:`Role` field to :guilabel:`Viewer` or :guilabel:`Editor`." msgstr "" -#: ../../content/applications/productivity/sign.rst:148 -msgid "You can click :guilabel:`Upload a PDF to sign` from your dashboard for a one-time signature. Select your document, open it, and drag and drop the required :ref:`fields ` in your document. You can modify the :ref:`role ` assigned to a field by clicking on it and selecting the one you want." +#: ../../content/applications/productivity/documents.rst:389 +msgid "If desired, toggle the :guilabel:`Notify` switch off to avoid sending a notification email." msgstr "" -#: ../../content/applications/productivity/sign.rst:153 -msgid "When ready, click :guilabel:`Send`, and fill in the required fields. Once sent, your document remains available. Go to :menuselection:`Documents --> All Documents` to see your document and the status of the signatures." +#: ../../content/applications/productivity/documents.rst:390 +msgid "Click :guilabel:`Share` to grant access (with or without a notification) or :guilabel:`Copy Links` to copy the sharing link to the clipboard." msgstr "" -#: ../../content/applications/productivity/sign.rst:-1 -msgid "Signature status" +#: ../../content/applications/productivity/documents.rst:394 +msgid "To remove a permission or set an expiration date for it, hover the mouse over the relevant contact and click the :icon:`fa-remove` (:guilabel:`remove`) or :icon:`fa-calendar` (:guilabel:`calendar`) button, respectively." msgstr "" -#: ../../content/applications/productivity/sign.rst:161 -msgid "Validity dates and reminders" +#: ../../content/applications/productivity/documents.rst:0 +msgid "Hover the mouse over a permission to reveal the buttons." msgstr "" -#: ../../content/applications/productivity/sign.rst:163 -msgid "You can set **validity dates** on limited-duration agreement documents or send **automatic email reminders** to obtain signatures on time. From your dashboard, click :guilabel:`Send` on your document. On the new page, go to the :guilabel:`Options` section, fill in the :guilabel:`Valid Until` field, toggle the :guilabel:`Reminder` switch, and click the value to edit the default number of days between reminders." +#: ../../content/applications/productivity/documents.rst:401 +msgid "To configure :guilabel:`General access` for :guilabel:`Internal users` or :guilabel:`Access through link`, select :guilabel:`Viewer`, :guilabel:`Editor`, or :guilabel:`None` (to completely restrict access). For :guilabel:`Access through link`, you can also specify whether the folder or file should be :guilabel:`Discoverable` (i.e., accessible through browsing). Click :guilabel:`Save` to apply the changes, then :guilabel:`Copy Links` to copy the sharing link to the clipboard." msgstr "" -#: ../../content/applications/productivity/sign.rst:-1 -msgid "Set the number of days between reminders" +#: ../../content/applications/productivity/documents.rst:408 +msgid "Each folder and file URL includes the access rights assigned to it. When you share a link to a folder, recipients are directed to a dedicated portal where they can view the files in that folder, excluding any with restricted access." msgstr "" -#: ../../content/applications/productivity/sign.rst:173 -#: ../../content/applications/productivity/spreadsheet/templates.rst:3 -msgid "Templates" +#: ../../content/applications/productivity/documents.rst:411 +msgid ":doc:`Portal users ` can access folders and files they have permission to view or edit through the customer portal by clicking the :guilabel:`Documents` card." msgstr "" -#: ../../content/applications/productivity/sign.rst:175 -msgid "You can create document templates when you have to send the same document several times. From your dashboard, click :guilabel:`Upload a PDF template`. Select the document and add the required :ref:`fields `. You can modify the :ref:`role ` of a field by clicking on it and selecting the one you want." +#: ../../content/applications/productivity/documents.rst:416 +msgid "Managing files across apps" msgstr "" -#: ../../content/applications/productivity/sign.rst:180 -msgid "Click :guilabel:`Template Properties` to add :guilabel:`Tags` to your template, define a :guilabel:`Signed Document Workspace`, add :guilabel:`Signed Document Tags`, set a :guilabel:`Redirect Link` that will be available in the signature confirmation message received after the signature, or define :guilabel:`Authorized Users` if you want to restrict the use of your template to specific authorized users or groups." +#: ../../content/applications/productivity/documents.rst:418 +msgid "You can save files to or attach existing files in the Documents app from any record." msgstr "" -#: ../../content/applications/productivity/sign.rst:186 -msgid "Your templates are visible by default on your dashboard. You can click :guilabel:`Send` to quickly send a document template to a signer or :guilabel:`Sign Now` if you are ready to sign your document immediately." +#: ../../content/applications/productivity/documents.rst:420 +msgid "To save an attachment to the Documents app, hover over an attachment in the record's chatter and click the :icon:`fa-hdd-o` (:guilabel:`Add to Documents`) icon." msgstr "" -#: ../../content/applications/productivity/sign.rst:191 -msgid "You can **create a template from a document that was previously sent**. To do so, go to :menuselection:`Documents --> All Documents`. On the document you want to retrieve, click on the the vertical ellipsis (:guilabel:`⋮`), then :guilabel:`Template`. Click on the vertical ellipsis (:guilabel:`⋮`) again, then :guilabel:`Restore`. Your document now appears on your dashboard next to your other templates." +#: ../../content/applications/productivity/documents.rst:423 +msgid "To attach a file to a record from the record's chatter, click the :guilabel:`Add from Documents` icon, select the desired file, and click :guilabel:`Add from Documents` to add the raw file, or :guilabel:`Paste Link(s)` to insert a link to the file (and preserve the document's :ref:`access rights `)." msgstr "" -#: ../../content/applications/productivity/sign.rst:200 -msgid "Roles" +#: ../../content/applications/productivity/documents.rst:428 +msgid "To insert a file from Documents into the :doc:`Odoo rich-text editor `, type `/file`, then select the desired file, and click :guilabel:`Add from Documents` to add the raw file, or :guilabel:`Paste Link(s)` to insert a link to the file (and preserve the document's :ref:`access rights `)." msgstr "" -#: ../../content/applications/productivity/sign.rst:202 -msgid "Each field in a Sign document is related to a role corresponding to a specific person. When a document is being signed, the person assigned to the role must fill in their assigned fields and sign it." +#: ../../content/applications/productivity/documents.rst:436 +msgid "File digitization with AI" msgstr "" -#: ../../content/applications/productivity/sign.rst:206 -msgid "Roles are available by going to :menuselection:`Sign --> Configuration --> Roles`." +#: ../../content/applications/productivity/documents.rst:438 +msgid "Files available in the Finance folder can be digitized. Select the file, click :guilabel:`Create Vendor Bill`, :guilabel:`Create Customer Invoice`, or :guilabel:`Create Customer Credit Note`, then click :guilabel:`Send for Digitization`." msgstr "" -#: ../../content/applications/productivity/sign.rst:208 -msgid "It is possible to update existing roles or to create new roles by clicking on :guilabel:`New`. Choose a :guilabel:`Role Name`, add an :guilabel:`Extra Authentication Step` to confirm the identity of the signing person, and if the document can be reassigned to another contact, select :guilabel:`Change Authorized` for the role. A :guilabel:`Color` can also be chosen for the role. This color can help understand which roles are responsible for which field when configuring a template." +#: ../../content/applications/productivity/documents.rst:443 +msgid ":doc:`AI-powered document digitization <../finance/accounting/vendor_bills/invoice_digitization>`" msgstr "" -#: ../../content/applications/productivity/sign.rst:216 -msgid "Secured identification" +#: ../../content/applications/productivity/knowledge.rst:3 +msgid "Knowledge" msgstr "" -#: ../../content/applications/productivity/sign.rst:218 -msgid "As the owner of a document, you may request an :guilabel:`Extra Authentication Step` through :ref:`SMS verification ` or via :ref:`Itsme® ` (available in Belgium and the Netherlands). Both authentication options require :ref:`credits `. If you do not have any credits left, the authentication steps will be skipped." +#: ../../content/applications/productivity/knowledge.rst:5 +msgid "**Odoo Knowledge** is a multipurpose productivity app that allows internal users to enrich their business knowledge base by providing information gathered individually or collaboratively." msgstr "" -#: ../../content/applications/productivity/sign.rst:224 -msgid ":doc:`In-App Purchase (IAP) <../essentials/in_app_purchase>`" +#: ../../content/applications/productivity/knowledge.rst:8 +msgid "The pages on which they gather content are called *articles*. They are mainly composed of a title and a body. The latter is an HTML field containing text, images, links, records from other models, templates, etc." msgstr "" -#: ../../content/applications/productivity/sign.rst:225 -msgid ":doc:`SMS pricing and FAQ <../marketing/sms_marketing/pricing_and_faq>`" +#: ../../content/applications/productivity/knowledge.rst:13 +msgid "`Knowledge product page `_" msgstr "" -#: ../../content/applications/productivity/sign.rst:230 -msgid "SMS verification" +#: ../../content/applications/productivity/knowledge.rst:18 +msgid "Article creation" msgstr "" -#: ../../content/applications/productivity/sign.rst:232 -msgid "Go to :menuselection:`Sign --> Configuration --> Roles`. Click in the :guilabel:`Extra Authentication Step` column for the role, and select :guilabel:`Unique Code Via SMS`." +#: ../../content/applications/productivity/knowledge.rst:20 +msgid "Knowledge articles can be created from scratch or a pre-configured template. When an article is created under another, the original one is the **parent article**, while the new one is called a **child** or **nested article**, indicating its subordinate position. This structure helps organize content by establishing clear relationships between related articles." msgstr "" -#: ../../content/applications/productivity/sign.rst:236 -msgid "Before being able to send SMS Text Messages, you need to register your phone number. To do so, go to :menuselection:`Sign --> Configuration --> Settings` and click :guilabel:`Buy credits` under :guilabel:`Authenticate by SMS`." +#: ../../content/applications/productivity/knowledge.rst:26 +msgid "To create a nested article, hover over an article in the sidebar tree and click the :icon:`fa-plus` :guilabel:`(plus)` icon." msgstr "" -#: ../../content/applications/productivity/sign.rst:240 -msgid "Go to the document to sign, add the field for which the SMS verification is required, for example, the :guilabel:`Signature` field, and click :guilabel:`Send`. On the new page, select the :guilabel:`customer` and click :guilabel:`Send`." +#: ../../content/applications/productivity/knowledge.rst:30 +msgid "From scratch" msgstr "" -#: ../../content/applications/productivity/sign.rst:244 -msgid "The person signing the document fills in the :guilabel:`Signature` field, then :guilabel:`Sign`, and clicks :guilabel:`Validate & Send Completed Document`. A :guilabel:`Final Validation` page pops up where to add their phone number. One-time codes are sent by SMS." +#: ../../content/applications/productivity/knowledge.rst:32 +msgid "To create an article from scratch, click :icon:`fa-plus` :guilabel:`New Article` in the top-left corner or hover over the :guilabel:`Private` or :guilabel:`Workspace` category in the sidebar tree, then click the :icon:`fa-plus` :guilabel:`(plus)` icon. Start typing text or select one of the suggested options:" msgstr "" -#: ../../content/applications/productivity/sign.rst:-1 -msgid "Add a hash to your document" +#: ../../content/applications/productivity/knowledge.rst:37 +msgid ":guilabel:`Load a Template`: Select a preconfigured template and click :guilabel:`Load Template`." msgstr "" -#: ../../content/applications/productivity/sign.rst:252 -msgid "This feature is enabled by default." +#: ../../content/applications/productivity/knowledge.rst:38 +msgid ":guilabel:`Build an Item Kanban`: Create items to visualize and manage them in a Kanban view." msgstr "" -#: ../../content/applications/productivity/sign.rst:253 -msgid "As soon as the :guilabel:`Extra Authentication Step` applies to a role, this validation step is requested for any field assigned to this role." +#: ../../content/applications/productivity/knowledge.rst:39 +msgid ":guilabel:`Build an Item List`: Create a structured list of items to centralize them in a single article." msgstr "" -#: ../../content/applications/productivity/sign.rst:259 -msgid "Itsme®" +#: ../../content/applications/productivity/knowledge.rst:41 +msgid ":guilabel:`Build an Item Calendar`: Create a calendar view to manage and track items by date." msgstr "" -#: ../../content/applications/productivity/sign.rst:261 -msgid "Itsme® authentication can be used to allow signatories to provide their identity using itsme®. This feature is only available in **Belgium** and the **Netherlands**." +#: ../../content/applications/productivity/knowledge.rst:42 +msgid ":guilabel:`Generate an Article with AI`: Generate content based on a prompt." msgstr "" -#: ../../content/applications/productivity/sign.rst:264 -msgid "The feature can be enabled in :guilabel:`Sign Settings` and applies automatically to the :guilabel:`Customer (identified with itsme®)` role. To enable it for other roles, go to :menuselection:`Sign --> Configuration --> Roles`. Click in the :guilabel:`Extra Authentication Step` column for the role, and select :guilabel:`Via itsme®`." +#: ../../content/applications/productivity/knowledge.rst:45 +msgid "After writing the header, click or hover over :guilabel:`Untitled` in the top bar to automatically name the article after the header. This action does not apply if the article is already titled." msgstr "" -#: ../../content/applications/productivity/sign.rst:269 -msgid "Go to the document that needs to be signed and add the :guilabel:`Signature` field. Switch to any role configured to use the feature, and click :guilabel:`Validate` and :guilabel:`Send`." +#: ../../content/applications/productivity/knowledge.rst:50 +msgid "From a template" msgstr "" -#: ../../content/applications/productivity/sign.rst:-1 -msgid "select customer identified with itsme®" +#: ../../content/applications/productivity/knowledge.rst:52 +msgid "To create an article from a template, follow these steps:" msgstr "" -#: ../../content/applications/productivity/sign.rst:275 -msgid "Upon signing the document, the signer completes the :guilabel:`Signature` field and proceeds by clicking on :guilabel:`Validate & Send Completed Document`, triggering a :guilabel:`Final verification` page where authentication via itsme® is required." +#: ../../content/applications/productivity/knowledge.rst:54 +msgid "Click :icon:`fa-paint-brush` :guilabel:`Browse Templates` at the bottom of the sidebar tree." msgstr "" -#: ../../content/applications/productivity/sign.rst:280 -msgid "Signatory hash" +#: ../../content/applications/productivity/knowledge.rst:55 +msgid "Select a preferred template." msgstr "" -#: ../../content/applications/productivity/sign.rst:282 -msgid "Each time someone signs a document, a **hash** - a unique digital signature of the operation - is generated to ensure traceability, integrity, and inalterability. This process guarantees that any changes made after a signature is affixed can be easily detected, maintaining the document's authenticity and security throughout its lifecycle." +#: ../../content/applications/productivity/knowledge.rst:56 +msgid "Click :guilabel:`Load Template`." msgstr "" -#: ../../content/applications/productivity/sign.rst:287 -msgid "A visual security frame displaying the beginning of the hash is added to the signatures. Internal users can hide or show it by turning the :guilabel:`Frame` option on or off when signing the document." +#: ../../content/applications/productivity/knowledge.rst:61 +msgid "Article editing" msgstr "" -#: ../../content/applications/productivity/sign.rst:-1 -msgid "Adding the visual security frame to a signature." +#: ../../content/applications/productivity/knowledge.rst:63 +msgid "To edit an article, select it in the sidebar tree, then edit its content and format it using the :ref:`text editor toolbar `, typing :ref:`powerbox commands `, and adding a :ref:`cover picture ` with a :ref:`title emoji `." msgstr "" -#: ../../content/applications/productivity/sign.rst:299 -msgid "Tags can be used to categorize and organize documents, allowing users to quickly search for and filter documents based on specific criteria." +#: ../../content/applications/productivity/knowledge.rst:69 +msgid "To enlarge or reduce the article's width, click the :icon:`fa-ellipsis-v` (:guilabel:`More actions`) icon, then toggle the :icon:`oi-arrows-h` :guilabel:`Full Width` on or off." msgstr "" -#: ../../content/applications/productivity/sign.rst:302 -msgid "You can manage tags by going to :menuselection:`Configuration --> Tags`. To create a tag, click :guilabel:`New`. On the new line, add the :guilabel:`Tag Name` and select a :guilabel:`Color Index` for your tag." +#: ../../content/applications/productivity/knowledge.rst:75 +msgid "Text editor toolbar" msgstr "" -#: ../../content/applications/productivity/sign.rst:306 -msgid "To apply a tag to a document, use the dropdown list available in your document." +#: ../../content/applications/productivity/knowledge.rst:77 +msgid "To edit a word, sentence, or paragraph, select or double-click it to display the text editor toolbar and apply the desired :doc:`formatting options `." msgstr "" -#: ../../content/applications/productivity/sign.rst:309 -msgid "You can modify the tags of a signed document by going to :menuselection:`Documents --> All Documents`, clicking the vertical ellipsis (:guilabel:`⋮`) on your document, then :guilabel:`Details`, and modifying your :guilabel:`Tags`." +#: ../../content/applications/productivity/knowledge.rst:81 +msgid "Click :icon:`fa-commenting-o` :guilabel:`Comment` to add a comment to the selected text." msgstr "" -#: ../../content/applications/productivity/sign.rst:314 -msgid "Sign order" +#: ../../content/applications/productivity/knowledge.rst:86 +msgid "Commands" msgstr "" -#: ../../content/applications/productivity/sign.rst:316 -msgid "When a document needs to be signed by different parties, the signing order lets you control the order in which your recipients receive it for signature." +#: ../../content/applications/productivity/knowledge.rst:88 +msgid "Type `/` to open the :ref:`powerbox ` and use a command. The following commands are exclusive to the Knowledge app:" msgstr "" -#: ../../content/applications/productivity/sign.rst:319 -msgid "After uploading a PDF with at least two signature fields with two different roles and clicking :guilabel:`Send`, toggle the :guilabel:`Specify Signing Order` switch and search for the signer's name or email information to add them. You can decide on the signing order by typing **1** or **2** in the first column." +#: ../../content/applications/productivity/knowledge.rst:98 +msgid "Command" msgstr "" -#: ../../content/applications/productivity/sign.rst:-1 -msgid "Toggle the switch to specify the signing order." +#: ../../content/applications/productivity/knowledge.rst:100 +msgid ":guilabel:`Index`" msgstr "" -#: ../../content/applications/productivity/sign.rst:327 -msgid "Each recipient receives the signature request notification only once the previous recipient has completed their action." +#: ../../content/applications/productivity/knowledge.rst:101 +msgid "Show :ref:`nested articles `: Display the child pages of the parent article." msgstr "" -#: ../../content/applications/productivity/sign.rst:333 -msgid "Field types" +#: ../../content/applications/productivity/knowledge.rst:103 +msgid ":guilabel:`Item Kanban`" msgstr "" -#: ../../content/applications/productivity/sign.rst:335 -msgid "Fields are used in a document to indicate what information must be completed by the signers. You can add fields to your document simply by dragging and dropping them for the left column into your document." +#: ../../content/applications/productivity/knowledge.rst:104 +msgid "Insert a Kanban view and create :ref:`article items `." msgstr "" -#: ../../content/applications/productivity/sign.rst:339 -msgid "Various field types can be used to sign documents (placeholder, autocompletion, etc.). By configuring your own field types, also known as signature item types, the signing process can be even faster for your customers, partners, and employees." +#: ../../content/applications/productivity/knowledge.rst:106 +msgid ":guilabel:`Item Cards`" msgstr "" -#: ../../content/applications/productivity/sign.rst:343 -msgid "To create and edit field types, go to :menuselection:`Sign --> Configuration --> Settings --> Edit field types`." +#: ../../content/applications/productivity/knowledge.rst:107 +msgid "Insert a Card view and create :ref:`article items `." msgstr "" -#: ../../content/applications/productivity/sign.rst:346 -msgid "You can select an existing field by clicking on it, or you can :guilabel:`Create` a new one. First, edit the :guilabel:`Field Name`. Then, select a :guilabel:`Field Type`:" +#: ../../content/applications/productivity/knowledge.rst:108 +msgid ":guilabel:`Item List`" msgstr "" -#: ../../content/applications/productivity/sign.rst:349 -msgid ":guilabel:`Signature`: users are asked to enter their signature either by drawing it, generating an automatic one based on their name, or uploading a local file (usually an image). Each subsequent :guilabel:`Signature` field type then reuses the data entered in the first field." +#: ../../content/applications/productivity/knowledge.rst:109 +msgid "Insert a List view and create :ref:`article items `." msgstr "" -#: ../../content/applications/productivity/sign.rst:352 -msgid ":guilabel:`Initial`: users are asked to enter their initials, in a similar way to the :guilabel:`Signature` field." +#: ../../content/applications/productivity/knowledge.rst:110 +msgid ":guilabel:`Item Calendar`" msgstr "" -#: ../../content/applications/productivity/sign.rst:354 -msgid ":guilabel:`Text`: users enter text on a single line." +#: ../../content/applications/productivity/knowledge.rst:111 +msgid "Insert a Calendar view and create :ref:`article items `." msgstr "" -#: ../../content/applications/productivity/sign.rst:355 -msgid ":guilabel:`Multiline Text`: users enter text on multiple lines." +#: ../../content/applications/productivity/knowledge.rst:113 +msgid ":guilabel:`Clipboard`" msgstr "" -#: ../../content/applications/productivity/sign.rst:356 -msgid ":guilabel:`Checkbox`: users can tick a box (e.g., to mark their approval or consent)." +#: ../../content/applications/productivity/knowledge.rst:114 +msgid "Add a clipboard section to store content and reuse it in other apps." msgstr "" -#: ../../content/applications/productivity/sign.rst:357 -msgid ":guilabel:`Selection`: users choose a single option from a variety of options." +#: ../../content/applications/productivity/knowledge.rst:115 +msgid ":guilabel:`Foldable Section`" msgstr "" -#: ../../content/applications/productivity/sign.rst:359 -msgid "The :guilabel:`Auto-fill Partner Field` setting is used to automatically fill in a field during the signature process. It uses the value of one of the fields on the contact (`res.partner`) model of the person signing the document. To do so, enter the contact model field's technical name." +#: ../../content/applications/productivity/knowledge.rst:116 +msgid "Hide the text inside a foldable section." msgstr "" -#: ../../content/applications/productivity/sign.rst:364 -msgid "To know the technical name of a field, enable developer mode and hover your mouse on the question mark next to the field." +#: ../../content/applications/productivity/knowledge.rst:117 +msgid ":guilabel:`Article`" msgstr "" -#: ../../content/applications/productivity/sign.rst:368 -msgid "Auto-completed values are suggestions and can be modified as required by the person signing the document." +#: ../../content/applications/productivity/knowledge.rst:118 +msgid "Insert a shortcut to an article." msgstr "" -#: ../../content/applications/productivity/sign.rst:371 -msgid "The size of the fields can also be changed by editing the :guilabel:`Default Width` and :guilabel:`Default Height`. Both sizes are defined as a percentage of the full page expressed as a decimal, with 1 equalling the full page's width or height. By default, the width of new fields you create is set to 15% (0.150) of a full page's width, while their height is set to 1.5% (0.015) of a full page's height." +#: ../../content/applications/productivity/knowledge.rst:123 +msgid "Article items" msgstr "" -#: ../../content/applications/productivity/sign.rst:377 -msgid "Next, write a :guilabel:`Tip`. Tips are displayed inside arrows on the left-hand side of the user's screen during the signing process to help them understand what the step entails (e.g., \"Sign here\" or “Fill in your birthdate”). You can also use a :guilabel:`Placeholder` text to be displayed inside the field before it is completed." +#: ../../content/applications/productivity/knowledge.rst:125 +msgid "Article items are active building blocks within an article, allowing the addition, management, and viewing of various organized content and data." msgstr "" -#: ../../content/applications/productivity/sign.rst:-1 -msgid "Tip and placeholder example in Odoo Sign" +#: ../../content/applications/productivity/knowledge.rst:128 +msgid "Article items within a parent article can contain :ref:`properties `, which are shared data fields from the parent, ensuring consistent information across related items and articles." msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:5 -msgid "Odoo Sign legality in Algeria" +#: ../../content/applications/productivity/knowledge.rst:135 +msgid "Cover pictures" msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Algeria." +#: ../../content/applications/productivity/knowledge.rst:137 +msgid "To add a cover picture, click the :icon:`fa-ellipsis-v` (:guilabel:`More actions`) icon, then :guilabel:`Add Cover`." msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:11 -msgid "Legal framework for electronic signatures in Algeria" +#: ../../content/applications/productivity/knowledge.rst:140 +msgid "To manage the cover picture, hover the mouse over it and select the preferred option:" msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:13 -msgid "In Algeria, electronic signatures are regulated under the `Civil Code `_ and the Law 15 04 of Electronic Signature. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/knowledge.rst:142 +msgid ":guilabel:`Replace Cover`: Search from the :doc:`Unsplash ` database library, click :guilabel:`Add URL` and paste the **image address**, or click :guilabel:`Upload an image` to upload a file into the image library." msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:18 -#: ../../content/applications/productivity/sign/angola.rst:17 -#: ../../content/applications/productivity/sign/argentina.rst:19 -#: ../../content/applications/productivity/sign/australia.rst:19 -#: ../../content/applications/productivity/sign/azerbaijan.rst:18 -#: ../../content/applications/productivity/sign/bangladesh.rst:18 -#: ../../content/applications/productivity/sign/brazil.rst:18 -#: ../../content/applications/productivity/sign/canada.rst:18 -#: ../../content/applications/productivity/sign/chile.rst:21 -#: ../../content/applications/productivity/sign/china.rst:17 -#: ../../content/applications/productivity/sign/colombia.rst:17 -#: ../../content/applications/productivity/sign/dominican_republic.rst:18 -#: ../../content/applications/productivity/sign/ecuador.rst:18 -#: ../../content/applications/productivity/sign/egypt.rst:17 -#: ../../content/applications/productivity/sign/ethiopia.rst:17 -#: ../../content/applications/productivity/sign/germany.rst:19 -#: ../../content/applications/productivity/sign/guatemala.rst:17 -#: ../../content/applications/productivity/sign/hong_kong.rst:17 -#: ../../content/applications/productivity/sign/india.rst:20 -#: ../../content/applications/productivity/sign/indonesia.rst:21 -#: ../../content/applications/productivity/sign/iran.rst:18 -#: ../../content/applications/productivity/sign/iraq.rst:18 -#: ../../content/applications/productivity/sign/israel.rst:17 -#: ../../content/applications/productivity/sign/japan.rst:18 -#: ../../content/applications/productivity/sign/kazakhstan.rst:19 -#: ../../content/applications/productivity/sign/kenya.rst:17 -#: ../../content/applications/productivity/sign/kuwait.rst:18 -#: ../../content/applications/productivity/sign/malaysia.rst:18 -#: ../../content/applications/productivity/sign/mexico.rst:19 -#: ../../content/applications/productivity/sign/morocco.rst:18 -#: ../../content/applications/productivity/sign/new_zealand.rst:18 -#: ../../content/applications/productivity/sign/nigeria.rst:18 -#: ../../content/applications/productivity/sign/norway.rst:19 -#: ../../content/applications/productivity/sign/oman.rst:17 -#: ../../content/applications/productivity/sign/pakistan.rst:17 -#: ../../content/applications/productivity/sign/peru.rst:19 -#: ../../content/applications/productivity/sign/philippines.rst:18 -#: ../../content/applications/productivity/sign/qatar.rst:18 -#: ../../content/applications/productivity/sign/russia.rst:20 -#: ../../content/applications/productivity/sign/saudi_arabia.rst:17 -#: ../../content/applications/productivity/sign/singapore.rst:17 -#: ../../content/applications/productivity/sign/south_africa.rst:18 -#: ../../content/applications/productivity/sign/south_korea.rst:18 -#: ../../content/applications/productivity/sign/switzerland.rst:18 -#: ../../content/applications/productivity/sign/thailand.rst:17 -#: ../../content/applications/productivity/sign/turkey.rst:19 -#: ../../content/applications/productivity/sign/ukraine.rst:17 -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:20 -#: ../../content/applications/productivity/sign/united_kingdom.rst:22 -#: ../../content/applications/productivity/sign/uzbekistan.rst:18 -#: ../../content/applications/productivity/sign/vietnam.rst:19 -msgid "**Legal recognition**: electronic signatures are legally equivalent to handwritten signatures if they meet certain criteria." +#: ../../content/applications/productivity/knowledge.rst:146 +msgid ":guilabel:`Reposition`: Adjust the picture, then click :guilabel:`Save Position` or :guilabel:`Cancel`." msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:20 -#: ../../content/applications/productivity/sign/angola.rst:19 -#: ../../content/applications/productivity/sign/argentina.rst:21 -#: ../../content/applications/productivity/sign/australia.rst:21 -#: ../../content/applications/productivity/sign/azerbaijan.rst:20 -#: ../../content/applications/productivity/sign/bangladesh.rst:20 -#: ../../content/applications/productivity/sign/brazil.rst:20 -#: ../../content/applications/productivity/sign/canada.rst:20 -#: ../../content/applications/productivity/sign/chile.rst:23 -#: ../../content/applications/productivity/sign/china.rst:19 -#: ../../content/applications/productivity/sign/colombia.rst:19 -#: ../../content/applications/productivity/sign/dominican_republic.rst:20 -#: ../../content/applications/productivity/sign/ecuador.rst:20 -#: ../../content/applications/productivity/sign/egypt.rst:19 -#: ../../content/applications/productivity/sign/ethiopia.rst:19 -#: ../../content/applications/productivity/sign/germany.rst:21 -#: ../../content/applications/productivity/sign/guatemala.rst:19 -#: ../../content/applications/productivity/sign/hong_kong.rst:19 -#: ../../content/applications/productivity/sign/india.rst:22 -#: ../../content/applications/productivity/sign/indonesia.rst:23 -#: ../../content/applications/productivity/sign/iran.rst:20 -#: ../../content/applications/productivity/sign/iraq.rst:20 -#: ../../content/applications/productivity/sign/israel.rst:19 -#: ../../content/applications/productivity/sign/japan.rst:20 -#: ../../content/applications/productivity/sign/kazakhstan.rst:21 -#: ../../content/applications/productivity/sign/kenya.rst:19 -#: ../../content/applications/productivity/sign/kuwait.rst:20 -#: ../../content/applications/productivity/sign/malaysia.rst:20 -#: ../../content/applications/productivity/sign/mexico.rst:21 -#: ../../content/applications/productivity/sign/morocco.rst:20 -#: ../../content/applications/productivity/sign/new_zealand.rst:20 -#: ../../content/applications/productivity/sign/nigeria.rst:20 -#: ../../content/applications/productivity/sign/norway.rst:21 -#: ../../content/applications/productivity/sign/oman.rst:19 -#: ../../content/applications/productivity/sign/pakistan.rst:19 -#: ../../content/applications/productivity/sign/peru.rst:21 -#: ../../content/applications/productivity/sign/philippines.rst:20 -#: ../../content/applications/productivity/sign/qatar.rst:20 -#: ../../content/applications/productivity/sign/russia.rst:22 -#: ../../content/applications/productivity/sign/saudi_arabia.rst:19 -#: ../../content/applications/productivity/sign/singapore.rst:19 -#: ../../content/applications/productivity/sign/south_africa.rst:20 -#: ../../content/applications/productivity/sign/south_korea.rst:20 -#: ../../content/applications/productivity/sign/switzerland.rst:20 -#: ../../content/applications/productivity/sign/thailand.rst:19 -#: ../../content/applications/productivity/sign/turkey.rst:21 -#: ../../content/applications/productivity/sign/ukraine.rst:19 -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:22 -#: ../../content/applications/productivity/sign/united_kingdom.rst:24 -#: ../../content/applications/productivity/sign/uzbekistan.rst:20 -#: ../../content/applications/productivity/sign/vietnam.rst:21 -msgid "**Reliability and security**: electronic signatures must be created with a secure method that can reliably identify the signatory and ensure the integrity of the signed document." +#: ../../content/applications/productivity/knowledge.rst:148 +msgid ":guilabel:`Remove`." msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:22 -#: ../../content/applications/productivity/sign/ecuador.rst:22 -#: ../../content/applications/productivity/sign/kazakhstan.rst:23 -#: ../../content/applications/productivity/sign/ukraine.rst:21 -msgid "**Qualified electronic signature**: digital signature generated using a digital certificate supplied by a qualified provider." +#: ../../content/applications/productivity/knowledge.rst:151 +msgid "After clicking :guilabel:`Add Cover`, a cover picture is automatically attributed to the article based on the title." msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:26 -msgid "How Odoo Sign complies with Algerian regulations" +#: ../../content/applications/productivity/knowledge.rst:153 +msgid "A removed cover picture can be retrieved in the database library. To delete it, hover the mouse over it and click the :icon:`fa-trash` (:guilabel:`trash`) icon." msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:28 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Algeria by incorporating the following features:" +#: ../../content/applications/productivity/knowledge.rst:159 +msgid "Title emoji" msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:31 -#: ../../content/applications/productivity/sign/angola.rst:33 -#: ../../content/applications/productivity/sign/argentina.rst:32 -#: ../../content/applications/productivity/sign/australia.rst:30 -#: ../../content/applications/productivity/sign/azerbaijan.rst:31 -#: ../../content/applications/productivity/sign/bangladesh.rst:31 -#: ../../content/applications/productivity/sign/brazil.rst:35 -#: ../../content/applications/productivity/sign/canada.rst:33 -#: ../../content/applications/productivity/sign/chile.rst:34 -#: ../../content/applications/productivity/sign/china.rst:30 -#: ../../content/applications/productivity/sign/colombia.rst:33 -#: ../../content/applications/productivity/sign/dominican_republic.rst:31 -#: ../../content/applications/productivity/sign/ecuador.rst:31 -#: ../../content/applications/productivity/sign/egypt.rst:30 -#: ../../content/applications/productivity/sign/ethiopia.rst:30 -#: ../../content/applications/productivity/sign/germany.rst:32 -#: ../../content/applications/productivity/sign/guatemala.rst:30 -#: ../../content/applications/productivity/sign/hong_kong.rst:30 -#: ../../content/applications/productivity/sign/india.rst:34 -#: ../../content/applications/productivity/sign/indonesia.rst:36 -#: ../../content/applications/productivity/sign/iran.rst:29 -#: ../../content/applications/productivity/sign/iraq.rst:34 -#: ../../content/applications/productivity/sign/israel.rst:30 -#: ../../content/applications/productivity/sign/japan.rst:31 -#: ../../content/applications/productivity/sign/kazakhstan.rst:32 -#: ../../content/applications/productivity/sign/kenya.rst:30 -#: ../../content/applications/productivity/sign/kuwait.rst:29 -#: ../../content/applications/productivity/sign/malaysia.rst:32 -#: ../../content/applications/productivity/sign/mexico.rst:33 -#: ../../content/applications/productivity/sign/morocco.rst:31 -#: ../../content/applications/productivity/sign/new_zealand.rst:31 -#: ../../content/applications/productivity/sign/nigeria.rst:29 -#: ../../content/applications/productivity/sign/norway.rst:32 -#: ../../content/applications/productivity/sign/oman.rst:30 -#: ../../content/applications/productivity/sign/pakistan.rst:31 -#: ../../content/applications/productivity/sign/peru.rst:33 -#: ../../content/applications/productivity/sign/philippines.rst:33 -#: ../../content/applications/productivity/sign/qatar.rst:31 -#: ../../content/applications/productivity/sign/russia.rst:35 -#: ../../content/applications/productivity/sign/saudi_arabia.rst:30 -#: ../../content/applications/productivity/sign/singapore.rst:28 -#: ../../content/applications/productivity/sign/south_africa.rst:31 -#: ../../content/applications/productivity/sign/south_korea.rst:33 -#: ../../content/applications/productivity/sign/switzerland.rst:31 -#: ../../content/applications/productivity/sign/thailand.rst:28 -#: ../../content/applications/productivity/sign/turkey.rst:32 -#: ../../content/applications/productivity/sign/ukraine.rst:30 -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:33 -#: ../../content/applications/productivity/sign/united_kingdom.rst:37 -#: ../../content/applications/productivity/sign/uzbekistan.rst:31 -#: ../../content/applications/productivity/sign/vietnam.rst:33 -msgid "**Secure signature creation**: Odoo Sign utilizes advanced cryptographic techniques to ensure the authenticity and integrity of electronic signatures." +#: ../../content/applications/productivity/knowledge.rst:161 +msgid "To add a title emoji to the article's name and header:" msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:33 -#: ../../content/applications/productivity/sign/angola.rst:35 -#: ../../content/applications/productivity/sign/argentina.rst:34 -#: ../../content/applications/productivity/sign/australia.rst:32 -#: ../../content/applications/productivity/sign/azerbaijan.rst:33 -#: ../../content/applications/productivity/sign/bangladesh.rst:33 -#: ../../content/applications/productivity/sign/brazil.rst:37 -#: ../../content/applications/productivity/sign/canada.rst:35 -#: ../../content/applications/productivity/sign/chile.rst:36 -#: ../../content/applications/productivity/sign/china.rst:32 -#: ../../content/applications/productivity/sign/colombia.rst:35 -#: ../../content/applications/productivity/sign/dominican_republic.rst:33 -#: ../../content/applications/productivity/sign/ecuador.rst:33 -#: ../../content/applications/productivity/sign/egypt.rst:32 -#: ../../content/applications/productivity/sign/ethiopia.rst:32 -#: ../../content/applications/productivity/sign/germany.rst:34 -#: ../../content/applications/productivity/sign/guatemala.rst:32 -#: ../../content/applications/productivity/sign/hong_kong.rst:32 -#: ../../content/applications/productivity/sign/india.rst:36 -#: ../../content/applications/productivity/sign/indonesia.rst:38 -#: ../../content/applications/productivity/sign/iran.rst:31 -#: ../../content/applications/productivity/sign/iraq.rst:36 -#: ../../content/applications/productivity/sign/israel.rst:32 -#: ../../content/applications/productivity/sign/japan.rst:33 -#: ../../content/applications/productivity/sign/kazakhstan.rst:34 -#: ../../content/applications/productivity/sign/kenya.rst:32 -#: ../../content/applications/productivity/sign/kuwait.rst:31 -#: ../../content/applications/productivity/sign/malaysia.rst:34 -#: ../../content/applications/productivity/sign/mexico.rst:35 -#: ../../content/applications/productivity/sign/morocco.rst:33 -#: ../../content/applications/productivity/sign/new_zealand.rst:33 -#: ../../content/applications/productivity/sign/nigeria.rst:31 -#: ../../content/applications/productivity/sign/norway.rst:34 -#: ../../content/applications/productivity/sign/oman.rst:32 -#: ../../content/applications/productivity/sign/pakistan.rst:33 -#: ../../content/applications/productivity/sign/peru.rst:35 -#: ../../content/applications/productivity/sign/philippines.rst:35 -#: ../../content/applications/productivity/sign/qatar.rst:33 -#: ../../content/applications/productivity/sign/russia.rst:37 -#: ../../content/applications/productivity/sign/saudi_arabia.rst:32 -#: ../../content/applications/productivity/sign/singapore.rst:30 -#: ../../content/applications/productivity/sign/south_africa.rst:33 -#: ../../content/applications/productivity/sign/south_korea.rst:35 -#: ../../content/applications/productivity/sign/switzerland.rst:33 -#: ../../content/applications/productivity/sign/thailand.rst:30 -#: ../../content/applications/productivity/sign/turkey.rst:34 -#: ../../content/applications/productivity/sign/ukraine.rst:32 -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:35 -#: ../../content/applications/productivity/sign/united_kingdom.rst:39 -#: ../../content/applications/productivity/sign/uzbekistan.rst:33 -#: ../../content/applications/productivity/sign/vietnam.rst:35 -msgid "**Third-party signature authenticator**: Odoo Online serves as an independent validation mechanism that adds an extra layer of security to the procurement process." +#: ../../content/applications/productivity/knowledge.rst:163 +msgid "Click the :icon:`fa-ellipsis-v` (:guilabel:`More actions`) icon, then :guilabel:`Add Icon` to generate a random emoji. Click the emoji to select a different one." msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:35 -#: ../../content/applications/productivity/sign/angola.rst:37 -#: ../../content/applications/productivity/sign/argentina.rst:36 -#: ../../content/applications/productivity/sign/australia.rst:34 -#: ../../content/applications/productivity/sign/azerbaijan.rst:35 -#: ../../content/applications/productivity/sign/bangladesh.rst:35 -#: ../../content/applications/productivity/sign/brazil.rst:39 -#: ../../content/applications/productivity/sign/canada.rst:37 -#: ../../content/applications/productivity/sign/chile.rst:38 -#: ../../content/applications/productivity/sign/china.rst:34 -#: ../../content/applications/productivity/sign/colombia.rst:37 -#: ../../content/applications/productivity/sign/dominican_republic.rst:35 -#: ../../content/applications/productivity/sign/ecuador.rst:35 -#: ../../content/applications/productivity/sign/egypt.rst:34 -#: ../../content/applications/productivity/sign/ethiopia.rst:34 -#: ../../content/applications/productivity/sign/germany.rst:36 -#: ../../content/applications/productivity/sign/guatemala.rst:34 -#: ../../content/applications/productivity/sign/hong_kong.rst:34 -#: ../../content/applications/productivity/sign/india.rst:38 -#: ../../content/applications/productivity/sign/indonesia.rst:40 -#: ../../content/applications/productivity/sign/iran.rst:33 -#: ../../content/applications/productivity/sign/iraq.rst:38 -#: ../../content/applications/productivity/sign/israel.rst:34 -#: ../../content/applications/productivity/sign/japan.rst:35 -#: ../../content/applications/productivity/sign/kazakhstan.rst:36 -#: ../../content/applications/productivity/sign/kenya.rst:34 -#: ../../content/applications/productivity/sign/kuwait.rst:33 -#: ../../content/applications/productivity/sign/malaysia.rst:36 -#: ../../content/applications/productivity/sign/mexico.rst:37 -#: ../../content/applications/productivity/sign/morocco.rst:35 -#: ../../content/applications/productivity/sign/new_zealand.rst:35 -#: ../../content/applications/productivity/sign/nigeria.rst:33 -#: ../../content/applications/productivity/sign/norway.rst:36 -#: ../../content/applications/productivity/sign/oman.rst:34 -#: ../../content/applications/productivity/sign/pakistan.rst:35 -#: ../../content/applications/productivity/sign/peru.rst:37 -#: ../../content/applications/productivity/sign/philippines.rst:37 -#: ../../content/applications/productivity/sign/qatar.rst:35 -#: ../../content/applications/productivity/sign/russia.rst:39 -#: ../../content/applications/productivity/sign/saudi_arabia.rst:34 -#: ../../content/applications/productivity/sign/singapore.rst:32 -#: ../../content/applications/productivity/sign/south_africa.rst:35 -#: ../../content/applications/productivity/sign/south_korea.rst:37 -#: ../../content/applications/productivity/sign/switzerland.rst:35 -#: ../../content/applications/productivity/sign/thailand.rst:32 -#: ../../content/applications/productivity/sign/turkey.rst:36 -#: ../../content/applications/productivity/sign/ukraine.rst:34 -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:37 -#: ../../content/applications/productivity/sign/united_kingdom.rst:41 -#: ../../content/applications/productivity/sign/uzbekistan.rst:35 -#: ../../content/applications/productivity/sign/vietnam.rst:37 -msgid "**Audit trails**: detailed audit logs are maintained to provide evidence of the signing process, including timestamps, IP addresses, and identity verification." +#: ../../content/applications/productivity/knowledge.rst:165 +msgid "Alternatively, click the :icon:`fa-file-text-o` :guilabel:`(page)` icon next to the article's name in the sidebar or the top bar and select the preferred emoji." msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:37 -#: ../../content/applications/productivity/sign/angola.rst:39 -#: ../../content/applications/productivity/sign/argentina.rst:38 -#: ../../content/applications/productivity/sign/australia.rst:36 -#: ../../content/applications/productivity/sign/azerbaijan.rst:37 -#: ../../content/applications/productivity/sign/bangladesh.rst:37 -#: ../../content/applications/productivity/sign/brazil.rst:41 -#: ../../content/applications/productivity/sign/canada.rst:39 -#: ../../content/applications/productivity/sign/chile.rst:40 -#: ../../content/applications/productivity/sign/china.rst:36 -#: ../../content/applications/productivity/sign/colombia.rst:39 -#: ../../content/applications/productivity/sign/dominican_republic.rst:37 -#: ../../content/applications/productivity/sign/ecuador.rst:37 -#: ../../content/applications/productivity/sign/egypt.rst:36 -#: ../../content/applications/productivity/sign/ethiopia.rst:36 -#: ../../content/applications/productivity/sign/germany.rst:38 -#: ../../content/applications/productivity/sign/guatemala.rst:36 -#: ../../content/applications/productivity/sign/hong_kong.rst:36 -#: ../../content/applications/productivity/sign/india.rst:40 -#: ../../content/applications/productivity/sign/indonesia.rst:42 -#: ../../content/applications/productivity/sign/iran.rst:35 -#: ../../content/applications/productivity/sign/iraq.rst:40 -#: ../../content/applications/productivity/sign/israel.rst:36 -#: ../../content/applications/productivity/sign/japan.rst:37 -#: ../../content/applications/productivity/sign/kazakhstan.rst:38 -#: ../../content/applications/productivity/sign/kenya.rst:36 -#: ../../content/applications/productivity/sign/kuwait.rst:35 -#: ../../content/applications/productivity/sign/malaysia.rst:38 -#: ../../content/applications/productivity/sign/mexico.rst:39 -#: ../../content/applications/productivity/sign/morocco.rst:37 -#: ../../content/applications/productivity/sign/new_zealand.rst:37 -#: ../../content/applications/productivity/sign/nigeria.rst:35 -#: ../../content/applications/productivity/sign/norway.rst:38 -#: ../../content/applications/productivity/sign/oman.rst:36 -#: ../../content/applications/productivity/sign/pakistan.rst:37 -#: ../../content/applications/productivity/sign/peru.rst:39 -#: ../../content/applications/productivity/sign/philippines.rst:39 -#: ../../content/applications/productivity/sign/qatar.rst:37 -#: ../../content/applications/productivity/sign/russia.rst:41 -#: ../../content/applications/productivity/sign/saudi_arabia.rst:36 -#: ../../content/applications/productivity/sign/singapore.rst:34 -#: ../../content/applications/productivity/sign/south_africa.rst:37 -#: ../../content/applications/productivity/sign/south_korea.rst:39 -#: ../../content/applications/productivity/sign/switzerland.rst:37 -#: ../../content/applications/productivity/sign/thailand.rst:34 -#: ../../content/applications/productivity/sign/turkey.rst:38 -#: ../../content/applications/productivity/sign/ukraine.rst:36 -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:39 -#: ../../content/applications/productivity/sign/united_kingdom.rst:43 -#: ../../content/applications/productivity/sign/uzbekistan.rst:37 -#: ../../content/applications/productivity/sign/vietnam.rst:39 -msgid "**Cryptographic traceability and immutability**: Odoo Sign ensures that any operation is logged securely. An audit log provides full transparency to all parties while preserving private data." +#: ../../content/applications/productivity/knowledge.rst:171 +msgid "Views and links from other apps" msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:39 -#: ../../content/applications/productivity/sign/angola.rst:41 -#: ../../content/applications/productivity/sign/argentina.rst:40 -#: ../../content/applications/productivity/sign/australia.rst:38 -#: ../../content/applications/productivity/sign/azerbaijan.rst:39 -#: ../../content/applications/productivity/sign/bangladesh.rst:39 -#: ../../content/applications/productivity/sign/brazil.rst:43 -#: ../../content/applications/productivity/sign/canada.rst:41 -#: ../../content/applications/productivity/sign/chile.rst:42 -#: ../../content/applications/productivity/sign/china.rst:38 -#: ../../content/applications/productivity/sign/colombia.rst:41 -#: ../../content/applications/productivity/sign/dominican_republic.rst:39 -#: ../../content/applications/productivity/sign/ecuador.rst:39 -#: ../../content/applications/productivity/sign/egypt.rst:38 -#: ../../content/applications/productivity/sign/ethiopia.rst:38 -#: ../../content/applications/productivity/sign/germany.rst:40 -#: ../../content/applications/productivity/sign/guatemala.rst:38 -#: ../../content/applications/productivity/sign/hong_kong.rst:38 -#: ../../content/applications/productivity/sign/india.rst:42 -#: ../../content/applications/productivity/sign/indonesia.rst:44 -#: ../../content/applications/productivity/sign/iran.rst:37 -#: ../../content/applications/productivity/sign/iraq.rst:42 -#: ../../content/applications/productivity/sign/israel.rst:38 -#: ../../content/applications/productivity/sign/japan.rst:39 -#: ../../content/applications/productivity/sign/kazakhstan.rst:40 -#: ../../content/applications/productivity/sign/kenya.rst:38 -#: ../../content/applications/productivity/sign/kuwait.rst:37 -#: ../../content/applications/productivity/sign/malaysia.rst:40 -#: ../../content/applications/productivity/sign/mexico.rst:41 -#: ../../content/applications/productivity/sign/morocco.rst:39 -#: ../../content/applications/productivity/sign/new_zealand.rst:39 -#: ../../content/applications/productivity/sign/nigeria.rst:37 -#: ../../content/applications/productivity/sign/norway.rst:40 -#: ../../content/applications/productivity/sign/oman.rst:38 -#: ../../content/applications/productivity/sign/pakistan.rst:39 -#: ../../content/applications/productivity/sign/peru.rst:41 -#: ../../content/applications/productivity/sign/philippines.rst:41 -#: ../../content/applications/productivity/sign/qatar.rst:39 -#: ../../content/applications/productivity/sign/russia.rst:43 -#: ../../content/applications/productivity/sign/saudi_arabia.rst:38 -#: ../../content/applications/productivity/sign/singapore.rst:36 -#: ../../content/applications/productivity/sign/south_africa.rst:39 -#: ../../content/applications/productivity/sign/south_korea.rst:41 -#: ../../content/applications/productivity/sign/switzerland.rst:39 -#: ../../content/applications/productivity/sign/thailand.rst:36 -#: ../../content/applications/productivity/sign/turkey.rst:40 -#: ../../content/applications/productivity/sign/ukraine.rst:38 -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:41 -#: ../../content/applications/productivity/sign/united_kingdom.rst:45 -#: ../../content/applications/productivity/sign/uzbekistan.rst:39 -#: ../../content/applications/productivity/sign/vietnam.rst:41 -msgid "**Multiple authentication means**: authentication by SMS, email, geoIP or handwritten electronic signature." +#: ../../content/applications/productivity/knowledge.rst:173 +msgid "To insert a view or a view link into an article, follow these steps:" msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:43 -#: ../../content/applications/productivity/sign/angola.rst:45 -#: ../../content/applications/productivity/sign/argentina.rst:44 -#: ../../content/applications/productivity/sign/australia.rst:42 -#: ../../content/applications/productivity/sign/azerbaijan.rst:43 -#: ../../content/applications/productivity/sign/bangladesh.rst:43 -#: ../../content/applications/productivity/sign/brazil.rst:47 -#: ../../content/applications/productivity/sign/canada.rst:45 -#: ../../content/applications/productivity/sign/chile.rst:46 -#: ../../content/applications/productivity/sign/china.rst:42 -#: ../../content/applications/productivity/sign/colombia.rst:45 -#: ../../content/applications/productivity/sign/dominican_republic.rst:43 -#: ../../content/applications/productivity/sign/ecuador.rst:43 -#: ../../content/applications/productivity/sign/egypt.rst:42 -#: ../../content/applications/productivity/sign/ethiopia.rst:42 -#: ../../content/applications/productivity/sign/germany.rst:44 -#: ../../content/applications/productivity/sign/guatemala.rst:42 -#: ../../content/applications/productivity/sign/hong_kong.rst:42 -#: ../../content/applications/productivity/sign/india.rst:46 -#: ../../content/applications/productivity/sign/indonesia.rst:48 -#: ../../content/applications/productivity/sign/iran.rst:41 -#: ../../content/applications/productivity/sign/iraq.rst:46 -#: ../../content/applications/productivity/sign/israel.rst:42 -#: ../../content/applications/productivity/sign/japan.rst:43 -#: ../../content/applications/productivity/sign/kazakhstan.rst:44 -#: ../../content/applications/productivity/sign/kenya.rst:42 -#: ../../content/applications/productivity/sign/kuwait.rst:41 -#: ../../content/applications/productivity/sign/malaysia.rst:44 -#: ../../content/applications/productivity/sign/mexico.rst:45 -#: ../../content/applications/productivity/sign/morocco.rst:43 -#: ../../content/applications/productivity/sign/new_zealand.rst:43 -#: ../../content/applications/productivity/sign/nigeria.rst:41 -#: ../../content/applications/productivity/sign/norway.rst:44 -#: ../../content/applications/productivity/sign/oman.rst:42 -#: ../../content/applications/productivity/sign/pakistan.rst:43 -#: ../../content/applications/productivity/sign/peru.rst:45 -#: ../../content/applications/productivity/sign/philippines.rst:45 -#: ../../content/applications/productivity/sign/qatar.rst:43 -#: ../../content/applications/productivity/sign/russia.rst:47 -#: ../../content/applications/productivity/sign/saudi_arabia.rst:42 -#: ../../content/applications/productivity/sign/singapore.rst:40 -#: ../../content/applications/productivity/sign/south_africa.rst:43 -#: ../../content/applications/productivity/sign/south_korea.rst:45 -#: ../../content/applications/productivity/sign/switzerland.rst:43 -#: ../../content/applications/productivity/sign/thailand.rst:40 -#: ../../content/applications/productivity/sign/turkey.rst:44 -#: ../../content/applications/productivity/sign/ukraine.rst:42 -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:45 -#: ../../content/applications/productivity/sign/united_kingdom.rst:49 -#: ../../content/applications/productivity/sign/uzbekistan.rst:43 -#: ../../content/applications/productivity/sign/vietnam.rst:45 -msgid "Types of documents you can sign with Odoo Sign" +#: ../../content/applications/productivity/knowledge.rst:175 +msgid "Go to the desired app and select the preferred view." msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:45 -#: ../../content/applications/productivity/sign/angola.rst:47 -#: ../../content/applications/productivity/sign/argentina.rst:46 -#: ../../content/applications/productivity/sign/australia.rst:44 -#: ../../content/applications/productivity/sign/azerbaijan.rst:45 -#: ../../content/applications/productivity/sign/bangladesh.rst:45 +#: ../../content/applications/productivity/knowledge.rst:176 +msgid "Click the :icon:`fa-cog` :guilabel:`(cog)` icon, then select :menuselection:`Knowledge --> Insert view in article` or :guilabel:`Insert link in article`." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:178 +msgid "Choose the article to insert the view or link to." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:181 +msgid "Once the view or link is inserted:" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:183 +msgid "Users without access to the view cannot see it in Knowledge, even if they can access the article." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:185 +msgid "Clicking the inserted link opens a pop-up with the view's name next to the :icon:`fa-clipboard` (:guilabel:`Copy Link`), :icon:`fa-pencil-square-o` (:guilabel:`Edit Link`), and :icon:`fa-chain-broken` (:guilabel:`Remove Link`) icons. Click the name inside the pop-up to open the linked view." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:191 +msgid "Article management" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:193 +msgid "Knowledge allows for managing articles, which consists of :ref:`structuring `, :ref:`sharing `, :ref:`removing `, and :ref:`retrieving ` them." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:199 +msgid "Basic management" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:201 +msgid "Click the :icon:`fa-ellipsis-v` (:guilabel:`More actions`) icon and select one of the following actions for basic article management:" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:204 +msgid ":guilabel:`Move To`: Select the article to move under a category or another article, then click :guilabel:`Move Article`." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:206 +msgid ":guilabel:`Lock Content`: Lock the article to stop edits. Click :guilabel:`Unlock` to edit again." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:207 +msgid ":guilabel:`Create a Copy`: Copy the article under the :guilabel:`Private` section." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:208 +msgid ":guilabel:`Open Version History`: Restore a previous version of the article." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:209 +msgid ":guilabel:`Download PDF`: Open the browser's print function." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:210 +msgid ":guilabel:`Add to Templates`: Add the article to the list of templates." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:211 +msgid ":guilabel:`Send to Trash`: Move the article to the trash." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:214 +msgid "The following actions only apply to :ref:`nested articles ` and :ref:`article items `:" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:218 +msgid ":guilabel:`Convert into Article Item`: Convert the nested article into an :ref:`article item `." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:220 +msgid ":guilabel:`Convert into Article`: Convert the article item into a :ref:`nested article `." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:224 +msgid "Move an article directly from the sidebar tree by dragging and dropping it under another article or category." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:226 +msgid "Click the :icon:`fa-search` (:guilabel:`search`) icon in the top-left corner or press `CTRL` / `CMD` + `K` to open the command palette, then type `?` to search for visible articles or `$` for :ref:`hidden articles `. Alternatively, hover over the :guilabel:`Workspace` category and click the :icon:`fa-eye` (:guilabel:`eye`) icon to find hidden articles." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:235 +msgid "Structuring" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:238 +msgid "Sidebar structure" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:240 +msgid "The sidebar structure follows a hierarchy with parent and nested articles organized within the following categories:" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:243 +msgid "The :guilabel:`Favorites` category displays all articles marked as favorites." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:244 +msgid "The :guilabel:`Workspace` category displays articles accessible to all internal users." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:245 +msgid "The :guilabel:`Shared` category displays articles shared with specific users." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:246 +msgid "The :guilabel:`Private` category displays personal articles." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:249 +msgid "To mark an article as a favorite and display the :guilabel:`Favorites` category, click the :icon:`fa-star-o` (:guilabel:`star`) icon in the top-right menu." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:253 +msgid "Article structure" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:255 +msgid "Nested articles inherit their parent's :ref:`access rights `, and :ref:`properties ` are applied to a group of nested articles under the same parent." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:262 +msgid "Sharing" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:264 +msgid "Sharing an article involves configuring :ref:`access rights `, inviting :ref:`users `, providing :ref:`online access `, and determining its visibility in the :ref:`sidebar tree `." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:269 +msgid "Articles listed under a category in the sidebar tree are **visible**. Articles that certain users must search for through the command palette due to restricted access rights are **hidden**." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:273 +msgid "To copy a specific section of an article, hover over the header (`H1`, `H2`, and `H3`), and click the :icon:`fa-link` (:guilabel:`link`) icon. Clicking the shared link leads to the selected section of the article." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:280 +msgid "Configure access rights" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:282 +msgid "Click :guilabel:`Share` in the top-right menu to configure access rights." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:285 +msgid "General access" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:294 +#: ../../content/applications/productivity/knowledge.rst:316 +msgid "Setting" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:296 +msgid ":guilabel:`Can Edit`" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:297 +msgid "Allow all internal users to edit the article." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:298 +msgid ":guilabel:`Can Read`" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:299 +msgid "Allow all internal users to read the article only." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:300 +#: ../../content/applications/productivity/knowledge.rst:320 +msgid ":guilabel:`Members only`" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:301 +msgid "Allow only members to access the article from the sidebar tree or by searching for it in the command palette." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:307 +msgid "Show in workspace" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:318 +msgid ":guilabel:`Everyone`" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:319 +msgid "The article is visible in the sidebar tree to all internal users." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:321 +msgid "The article is only visible in the sidebar tree to :ref:`members `, while other users can find it using the hidden article search by pressing `CTRL` / `CMD` + `K` and typing `$`." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:326 +msgid "The :guilabel:`Default Access Rights` apply to all internal users except invited users; specific access rights override default access rights." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:328 +msgid "Selecting `Can edit` or `Can read` in the :guilabel:`Default Access Rights` moves the article to the :guilabel:`Workspace` category while selecting `No access` moves it to the :guilabel:`Private` category if it is not shared with an invited user." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:331 +msgid "The :guilabel:`Visibility` setting only applies to :guilabel:`Workspace` articles." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:336 +msgid "Invite specific users" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:338 +msgid "To grant specific internal or portal users access to a private nested article or to share a :guilabel:`Workspace` article with a portal user, follow these steps:" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:341 +msgid "Click :guilabel:`Share` in the top-right menu." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:342 +#: ../../content/applications/productivity/knowledge.rst:344 +msgid "Click :guilabel:`Invite`." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:343 +msgid "Select the preferred :guilabel:`Permission` and add users in the :guilabel:`Recipients` field." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:349 +msgid "Generate article URL" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:351 +msgid "To generate a URL and share an article, click :guilabel:`Share` and activate the :guilabel:`Share to web` toggle. Click :guilabel:`Copy Link` to copy the article's URL." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:355 +msgid "If an article contains :ref:`inserted views `, users with the URL do not see them unless they can access the inserted content." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:357 +msgid "Having the Website app is necessary to share an article's URL." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:362 +msgid "Removal" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:364 +msgid "Removing an article involves deleting or archiving it." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:367 +msgid "Delete an article" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:369 +msgid "Select an article in the sidebar tree and click the :icon:`fa-ellipsis-v` (:guilabel:`More actions`) icon, then :guilabel:`Send to Trash`. Alternatively, drag and drop the article under :guilabel:`Drop here to delete this article` at the bottom left corner. The article is moved to the trash for 30 days before being permanently deleted." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:374 +msgid "To permanently delete an article, click :guilabel:`Articles` in the top-left menu, select an article, and click :menuselection:`Actions --> Delete --> Delete`." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:378 +msgid "To restore a trashed article, click :guilabel:`Open the Trash` at the bottom of the sidebar tree, select an article, and click :guilabel:`Restore`. Alternatively, click :guilabel:`Articles` in the top-left menu. In the search bar, click :menuselection:`Filters --> Trashed`. Click the article, then :guilabel:`Restore`." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:384 +msgid "Archive an article" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:386 +msgid "Click :guilabel:`Articles`, select an article, and click :menuselection:`Actions --> Archive --> Archive`." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:390 +msgid "To restore an archived article, click :guilabel:`Articles`. In the search bar, click :menuselection:`Filters --> Archived`. Select the article and go to :menuselection:`Actions --> Unarchive`." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:397 +msgid "Retrieval" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:399 +msgid "Retrieving Knowledge articles consists of accessing them from Odoo apps or restoring previous versions." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:403 +msgid "Access articles from Odoo apps" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:405 +msgid "Knowledge articles are accessible from the :ref:`form view ` of various apps. Click the :icon:`fa-bookmark` :guilabel:`(Knowledge)` icon in the top right corner to open the command palette, then choose one of the following search methods:" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:409 +msgid ":guilabel:`Search for an article`: start typing the text to execute a semantic search that identifies relevant article information." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:411 +msgid ":guilabel:`Advanced Search`: after typing the text in the search bar, click :guilabel:`Advanced Search` to perform a parametric search with options to filter, group, or save articles." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:415 +#: ../../content/applications/productivity/spreadsheet/get_started.rst:179 +msgid "Version history" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:417 +msgid "To retrieve a previous version of an article, select it in the sidebar tree and click the :icon:`fa-ellipsis-v` (:guilabel:`More actions`) icon, then :guilabel:`Open Version History`. Select a version and click :guilabel:`Restore history`." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:422 +msgid "In the version history, the :guilabel:`Content` tab shows the selected version, while the :guilabel:`Comparison` tab displays the differences between the article's previous and current versions." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:429 +msgid "Properties" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:431 +msgid "Properties are custom fields for storing and managing information that members can add to :ref:`nested articles ` or :ref:`article items `." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:435 +msgid "To add a property, click the :icon:`fa-ellipsis-v` (:guilabel:`More actions`) icon, then :menuselection:`Add Properties --> Add a Property`, enter a :guilabel:`Label`, and select a :guilabel:`Field Type`." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:440 +msgid ":doc:`/applications/essentials/property_fields`" +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:443 +msgid "Click outside the property field window to save a property." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:444 +msgid "To remove a property, hover over its name, click the :icon:`fa-pencil` (:guilabel:`pencil`) icon, then click :menuselection:`Delete --> Delete`. Deleting a property is permanent, and deleting all properties removes the property sidebar panel." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:449 +msgid "Hover over the property name and click the :icon:`fa-pencil` (:guilabel:`pencil`) icon to edit it or the :icon:`oi-draggable` (:guilabel:`drag handle`) icon to move it above or below another property." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:452 +msgid "Tick :guilabel:`Display in Cards` to show the properties in an :ref:`article item's view ` that is visible from a parent article." +msgstr "" + +#: ../../content/applications/productivity/knowledge.rst:454 +msgid "Click the :icon:`fa-cogs` (:guilabel:`cogs`) icon to hide the property sidebar panel. Exiting and returning to the article causes the panel to reappear." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:3 +msgid "Sign" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:5 +msgid "**Odoo Sign** allows you to send, sign, and approve documents online, using electronic signatures." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:7 +msgid "An **electronic signature** shows a person's agreement to the content of a document. Just like a handwritten signature, the electronic one represents a legal bounding by the terms of the signed document." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:11 +msgid "With Sign, you can upload any PDF file and add fields to it. These fields can be automatically filled in with the user's details present in your database." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:15 +msgid "`Odoo Sign: product page `_" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:16 +msgid "`Odoo Tutorials: Sign [video] `_" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:19 +msgid "Validity of electronic signatures" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:21 +msgid "Documents signed via the Sign app are valid electronic signatures in the European Union and the United States of America. They also meet the requirements for electronic signatures in most countries. The legal validity of electronic signatures generated by Odoo depends on your country's legislation. Companies doing business abroad should also consider other countries' electronic signature laws." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:28 +msgid "The below information has no legal value; it is only provided for general informational purposes. As laws governing electronic signatures rapidly evolve, we cannot guarantee that all information is up-to-date. We advise contacting a local attorney for legal advice regarding electronic signature compliance and validity." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:34 +msgid "European Union" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:36 +msgid "The `eIDAS regulation `_ establishes the framework for electronic signatures in the `27 member states of the European Union `_. It distinguishes three types of electronic signatures:" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:41 +msgid "Simple electronic signatures" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:42 +msgid "Advanced electronic signatures" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:43 +msgid "Qualified electronic signatures" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:45 +msgid "Odoo generates the first type, **simple electronic signatures**; these signatures are legally valid in the EU, as stated in the eIDAS regulation." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:48 +msgid "Electronic signatures may not be automatically recognized as valid. You may need to bring supporting evidence of a signature's validity. While the Sign app provides a simple electronic signature, some supporting evidence is automatically collected during the signature process, such as:" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:53 +msgid "Email and SMS validation (if enabled)" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:54 +msgid "Strong identity proof through itsme® (available in Belgium and the Netherlands)" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:55 +msgid "Timestamped, IP and geographically traceable access logs to the documents and their associated signatures" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:57 +msgid "Document traceability and inalterability (any alteration made to a signed document is detected by Odoo with the use of cryptographic proofs)" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:61 +msgid ":doc:`Documentation for Germany `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:64 +msgid "United States of America" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:66 +msgid "The `ESIGN Act (Electronic Signatures in Global and National Commerce Act) `_, at the interstate and international levels, and the `UETA (Uniform Electronic Transactions Act) `_, at the state level, provide the legal framework for electronic signatures. Note that `Illinois `_ and `New York `_ have not adopted the UETA, but similar acts instead." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:75 +msgid "Overall, to be recognized as valid, electronic signatures have to meet five criteria:" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:77 +msgid "The signer must show a clear **intent to sign**. For example, using a mouse to draw a signature can show intent. The signer must also have the option to opt out of the electronic document." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:79 +msgid "The signer must first express or imply their **consent to conduct business electronically**." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:80 +msgid "**The signature must be clearly attributed**. In Odoo, metadata, such as the signer's IP address, is added to the signature, which can be used as supporting evidence." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:82 +msgid "**The signature must be associated with the signed document**, for example, by keeping a record detailing how the signature was captured." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:84 +msgid "Electronically signed documents need to be **retained and stored** by all parties involved; for example, by providing the signer either a fully-executed copy or the possibility to download a copy." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:89 +msgid "Other countries" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:91 +msgid ":doc:`Algeria `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:92 +msgid ":doc:`Angola `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:93 +msgid ":doc:`Argentina `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:94 +msgid ":doc:`Australia `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:95 +msgid ":doc:`Azerbaijan `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:96 +msgid ":doc:`Bangladesh `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:97 +msgid ":doc:`Brazil `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:98 +msgid ":doc:`Canada `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:99 +msgid ":doc:`Chile `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:100 +msgid ":doc:`China `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:101 +msgid ":doc:`Colombia `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:102 +msgid ":doc:`Dominican Republic `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:103 +msgid ":doc:`Ecuador `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:104 +msgid ":doc:`Egypt `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:105 +msgid ":doc:`Ethiopia `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:106 +msgid ":doc:`Guatemala `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:107 +msgid ":doc:`Hong Kong `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:108 +msgid ":doc:`India `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:109 +msgid ":doc:`Indonesia `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:110 +msgid ":doc:`Iran `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:111 +msgid ":doc:`Iraq `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:112 +msgid ":doc:`Israel `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:113 +msgid ":doc:`Japan `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:114 +msgid ":doc:`Kazakhstan `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:115 +msgid ":doc:`Kenya `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:116 +msgid ":doc:`Kuwait `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:117 +msgid ":doc:`Malaysia `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:118 +msgid ":doc:`Mexico `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:119 +msgid ":doc:`Morocco `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:120 +msgid ":doc:`New Zealand `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:121 +msgid ":doc:`Nigeria `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:122 +msgid ":doc:`Norway `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:123 +msgid ":doc:`Oman `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:124 +msgid ":doc:`Pakistan `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:125 +msgid ":doc:`Peru `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:126 +msgid ":doc:`Philippines `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:127 +msgid ":doc:`Qatar `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:128 +msgid ":doc:`Russia `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:129 +msgid ":doc:`Saudi Arabia `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:130 +msgid ":doc:`Singapore `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:131 +msgid ":doc:`South Africa `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:132 +msgid ":doc:`South Korea `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:133 +msgid ":doc:`Switzerland `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:134 +msgid ":doc:`Thailand `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:135 +msgid ":doc:`Turkey `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:136 +msgid ":doc:`Ukraine `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:137 +msgid ":doc:`United Arab Emirates `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:138 +msgid ":doc:`United Kingdom `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:139 +msgid ":doc:`Uzbekistan `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:140 +msgid ":doc:`Vietnam `" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:143 +msgid "Send a document to sign" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:146 +msgid "One-time signature" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:148 +msgid "You can click :guilabel:`Upload a PDF to sign` from your dashboard for a one-time signature. Select your document, open it, and drag and drop the required :ref:`fields ` in your document. You can modify the :ref:`role ` assigned to a field by clicking on it and selecting the one you want." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:153 +msgid "When ready, click :guilabel:`Send`, and fill in the required fields. Once sent, your document remains available. Go to :menuselection:`Documents --> All Documents` to see your document and the status of the signatures." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:-1 +msgid "Signature status" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:161 +msgid "Validity dates and reminders" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:163 +msgid "You can set **validity dates** on limited-duration agreement documents or send **automatic email reminders** to obtain signatures on time. From your dashboard, click :guilabel:`Send` on your document. On the new page, go to the :guilabel:`Options` section, fill in the :guilabel:`Valid Until` field, toggle the :guilabel:`Reminder` switch, and click the value to edit the default number of days between reminders." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:-1 +msgid "Set the number of days between reminders" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:173 +#: ../../content/applications/productivity/spreadsheet/get_started.rst:40 +msgid "Templates" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:175 +msgid "You can create document templates when you have to send the same document several times. From your dashboard, click :guilabel:`Upload a PDF template`. Select the document and add the required :ref:`fields `. You can modify the :ref:`role ` of a field by clicking on it and selecting the one you want." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:180 +msgid "Click :guilabel:`Template Properties` to add :guilabel:`Tags` to your template, define a :guilabel:`Signed Document Workspace`, add :guilabel:`Signed Document Tags`, set a :guilabel:`Redirect Link` that will be available in the signature confirmation message received after the signature, or define :guilabel:`Authorized Users` if you want to restrict the use of your template to specific authorized users or groups." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:186 +msgid "Your templates are visible by default on your dashboard. You can click :guilabel:`Send` to quickly send a document template to a signer or :guilabel:`Sign Now` if you are ready to sign your document immediately." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:191 +msgid "You can **create a template from a document that was previously sent**. To do so, go to :menuselection:`Documents --> All Documents`. On the document you want to retrieve, click on the the vertical ellipsis (:guilabel:`⋮`), then :guilabel:`Template`. Click on the vertical ellipsis (:guilabel:`⋮`) again, then :guilabel:`Restore`. Your document now appears on your dashboard next to your other templates." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:200 +msgid "Roles" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:202 +msgid "Each field in a Sign document is related to a role corresponding to a specific person. When a document is being signed, the person assigned to the role must fill in their assigned fields and sign it." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:206 +msgid "Roles are available by going to :menuselection:`Sign --> Configuration --> Roles`." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:208 +msgid "It is possible to update existing roles or to create new roles by clicking on :guilabel:`New`. Choose a :guilabel:`Role Name`, add an :guilabel:`Extra Authentication Step` to confirm the identity of the signing person, and if the document can be reassigned to another contact, select :guilabel:`Change Authorized` for the role. A :guilabel:`Color` can also be chosen for the role. This color can help understand which roles are responsible for which field when configuring a template." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:216 +msgid "Secured identification" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:218 +msgid "As the owner of a document, you may request an :guilabel:`Extra Authentication Step` through :ref:`SMS verification ` or via :ref:`Itsme® ` (available in Belgium and the Netherlands). Both authentication options require :ref:`credits `. If you do not have any credits left, the authentication steps will be skipped." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:224 +msgid ":doc:`In-App Purchase (IAP) <../essentials/in_app_purchase>`" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:225 +msgid ":doc:`SMS pricing and FAQ <../marketing/sms_marketing/pricing_and_faq>`" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:230 +msgid "SMS verification" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:232 +msgid "Go to :menuselection:`Sign --> Configuration --> Roles`. Click in the :guilabel:`Extra Authentication Step` column for the role, and select :guilabel:`Unique Code Via SMS`." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:236 +msgid "Before being able to send SMS Text Messages, you need to register your phone number. To do so, go to :menuselection:`Sign --> Configuration --> Settings` and click :guilabel:`Buy credits` under :guilabel:`Authenticate by SMS`." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:240 +msgid "Go to the document to sign, add the field for which the SMS verification is required, for example, the :guilabel:`Signature` field, and click :guilabel:`Send`. On the new page, select the :guilabel:`customer` and click :guilabel:`Send`." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:244 +msgid "The person signing the document fills in the :guilabel:`Signature` field, then :guilabel:`Sign`, and clicks :guilabel:`Validate & Send Completed Document`. A :guilabel:`Final Validation` page pops up where to add their phone number. One-time codes are sent by SMS." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:-1 +msgid "Add a hash to your document" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:252 +msgid "This feature is enabled by default." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:253 +msgid "As soon as the :guilabel:`Extra Authentication Step` applies to a role, this validation step is requested for any field assigned to this role." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:259 +msgid "Itsme®" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:261 +msgid "Itsme® authentication can be used to allow signatories to provide their identity using itsme®. This feature is only available in **Belgium** and the **Netherlands**." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:264 +msgid "The feature can be enabled in :guilabel:`Sign Settings` and applies automatically to the :guilabel:`Customer (identified with itsme®)` role. To enable it for other roles, go to :menuselection:`Sign --> Configuration --> Roles`. Click in the :guilabel:`Extra Authentication Step` column for the role, and select :guilabel:`Via itsme®`." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:269 +msgid "Go to the document that needs to be signed and add the :guilabel:`Signature` field. Switch to any role configured to use the feature, and click :guilabel:`Validate` and :guilabel:`Send`." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:-1 +msgid "select customer identified with itsme®" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:275 +msgid "Upon signing the document, the signer completes the :guilabel:`Signature` field and proceeds by clicking on :guilabel:`Validate & Send Completed Document`, triggering a :guilabel:`Final verification` page where authentication via itsme® is required." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:282 +msgid "Aadhaar eSign" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:284 +msgid "Aadhaar eSign allows signers in India to digitally sign documents using their Aadhaar number and :abbr:`OTP (One Time Password)` verification. This provides a secure and legally valid way to complete signatures directly within Odoo Sign." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:288 +msgid "To enable Aadhar eSign, go to :menuselection:`Sign --> Configuration --> Settings` and enable :guilabel:`Sign with Aadhar eSign`." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:291 +msgid "To request signer authentication through Aadhaar eSign:" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:293 +msgid "Upload or edit an existing PDF." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:294 +msgid "On the left panel, click the :icon:`fa-ellipsis-vertical` :guilabel:`(vertical ellipsis)` icon next to the signer that should authenticate with Aadhaar eSign and click :icon:`fa-pencil-square-o` :guilabel:`Edit`." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:297 +msgid "In the pop-up, select :guilabel:`Via Aadhaar eSign` under :guilabel:`Authentication` and click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:300 +msgid "Upon signing the document, an extra :guilabel:`Final verification` page will be displayed where authentication via Aadhaar is required." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:304 +msgid "The digital certification from eMudhra is available in the downloaded document." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:307 +msgid "Signatory hash" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:309 +msgid "Each time someone signs a document, a **hash** - a unique digital signature of the operation - is generated to ensure traceability, integrity, and inalterability. This process guarantees that any changes made after a signature is affixed can be easily detected, maintaining the document's authenticity and security throughout its lifecycle." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:314 +msgid "A visual security frame displaying the beginning of the hash is added to the signatures. Internal users can hide or show it by turning the :guilabel:`Frame` option on or off when signing the document." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:-1 +msgid "Adding the visual security frame to a signature." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:326 +msgid "Tags can be used to categorize and organize documents, allowing users to quickly search for and filter documents based on specific criteria." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:329 +msgid "You can manage tags by going to :menuselection:`Configuration --> Tags`. To create a tag, click :guilabel:`New`. On the new line, add the :guilabel:`Tag Name` and select a :guilabel:`Color Index` for your tag." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:333 +msgid "To apply a tag to a document, use the dropdown list available in your document." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:336 +msgid "You can modify the tags of a signed document by going to :menuselection:`Documents --> All Documents`, clicking the vertical ellipsis (:guilabel:`⋮`) on your document, then :guilabel:`Details`, and modifying your :guilabel:`Tags`." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:341 +msgid "Sign order" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:343 +msgid "When a document needs to be signed by different parties, the signing order lets you control the order in which your recipients receive it for signature." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:346 +msgid "After uploading a PDF with at least two signature fields with two different roles and clicking :guilabel:`Send`, toggle the :guilabel:`Specify Signing Order` switch and search for the signer's name or email information to add them. You can decide on the signing order by typing **1** or **2** in the first column." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:-1 +msgid "Toggle the switch to specify the signing order." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:354 +msgid "Each recipient receives the signature request notification only once the previous recipient has completed their action." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:360 +msgid "Field types" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:362 +msgid "Fields are used in a document to indicate what information must be completed by the signers. You can add fields to your document simply by dragging and dropping them for the left column into your document." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:366 +msgid "Various field types can be used to sign documents (placeholder, autocompletion, etc.). By configuring your own field types, also known as signature item types, the signing process can be even faster for your customers, partners, and employees." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:370 +msgid "To create and edit field types, go to :menuselection:`Sign --> Configuration --> Settings --> Edit field types`." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:373 +msgid "You can select an existing field by clicking on it, or you can :guilabel:`Create` a new one. First, edit the :guilabel:`Field Name`. Then, select a :guilabel:`Field Type`:" +msgstr "" + +#: ../../content/applications/productivity/sign.rst:376 +msgid ":guilabel:`Signature`: users are asked to enter their signature either by drawing it, generating an automatic one based on their name, or uploading a local file (usually an image). Each subsequent :guilabel:`Signature` field type then reuses the data entered in the first field." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:379 +msgid ":guilabel:`Initial`: users are asked to enter their initials, in a similar way to the :guilabel:`Signature` field." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:381 +msgid ":guilabel:`Text`: users enter text on a single line." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:382 +msgid ":guilabel:`Multiline Text`: users enter text on multiple lines." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:383 +msgid ":guilabel:`Checkbox`: users can tick a box (e.g., to mark their approval or consent)." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:384 +msgid ":guilabel:`Selection`: users choose a single option from a variety of options." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:386 +msgid "The :guilabel:`Auto-fill Partner Field` setting is used to automatically fill in a field during the signature process. It uses the value of one of the fields on the contact (`res.partner`) model of the person signing the document. To do so, enter the contact model field's technical name." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:391 +msgid "To know the technical name of a field, enable developer mode and hover your mouse on the question mark next to the field." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:395 +msgid "Auto-completed values are suggestions and can be modified as required by the person signing the document." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:398 +msgid "The size of the fields can also be changed by editing the :guilabel:`Default Width` and :guilabel:`Default Height`. Both sizes are defined as a percentage of the full page expressed as a decimal, with 1 equalling the full page's width or height. By default, the width of new fields you create is set to 15% (0.150) of a full page's width, while their height is set to 1.5% (0.015) of a full page's height." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:404 +msgid "Next, write a :guilabel:`Tip`. Tips are displayed inside arrows on the left-hand side of the user's screen during the signing process to help them understand what the step entails (e.g., \"Sign here\" or “Fill in your birthdate”). You can also use a :guilabel:`Placeholder` text to be displayed inside the field before it is completed." +msgstr "" + +#: ../../content/applications/productivity/sign.rst:-1 +msgid "Tip and placeholder example in Odoo Sign" +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:5 +msgid "Odoo Sign legality in Algeria" +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Algeria." +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:11 +msgid "Legal framework for electronic signatures in Algeria" +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:13 +msgid "In Algeria, electronic signatures are regulated under the `Civil Code `_ and the Law 15 04 of Electronic Signature. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:18 +#: ../../content/applications/productivity/sign/angola.rst:17 +#: ../../content/applications/productivity/sign/argentina.rst:19 +#: ../../content/applications/productivity/sign/australia.rst:19 +#: ../../content/applications/productivity/sign/azerbaijan.rst:18 +#: ../../content/applications/productivity/sign/bangladesh.rst:18 +#: ../../content/applications/productivity/sign/brazil.rst:18 +#: ../../content/applications/productivity/sign/canada.rst:18 +#: ../../content/applications/productivity/sign/chile.rst:21 +#: ../../content/applications/productivity/sign/china.rst:17 +#: ../../content/applications/productivity/sign/colombia.rst:17 +#: ../../content/applications/productivity/sign/dominican_republic.rst:18 +#: ../../content/applications/productivity/sign/ecuador.rst:18 +#: ../../content/applications/productivity/sign/egypt.rst:17 +#: ../../content/applications/productivity/sign/ethiopia.rst:17 +#: ../../content/applications/productivity/sign/germany.rst:19 +#: ../../content/applications/productivity/sign/guatemala.rst:17 +#: ../../content/applications/productivity/sign/hong_kong.rst:17 +#: ../../content/applications/productivity/sign/india.rst:20 +#: ../../content/applications/productivity/sign/indonesia.rst:21 +#: ../../content/applications/productivity/sign/iran.rst:18 +#: ../../content/applications/productivity/sign/iraq.rst:18 +#: ../../content/applications/productivity/sign/israel.rst:17 +#: ../../content/applications/productivity/sign/japan.rst:18 +#: ../../content/applications/productivity/sign/kazakhstan.rst:19 +#: ../../content/applications/productivity/sign/kenya.rst:17 +#: ../../content/applications/productivity/sign/kuwait.rst:18 +#: ../../content/applications/productivity/sign/malaysia.rst:18 +#: ../../content/applications/productivity/sign/mexico.rst:19 +#: ../../content/applications/productivity/sign/morocco.rst:18 +#: ../../content/applications/productivity/sign/new_zealand.rst:18 +#: ../../content/applications/productivity/sign/nigeria.rst:18 +#: ../../content/applications/productivity/sign/norway.rst:19 +#: ../../content/applications/productivity/sign/oman.rst:17 +#: ../../content/applications/productivity/sign/pakistan.rst:17 +#: ../../content/applications/productivity/sign/peru.rst:19 +#: ../../content/applications/productivity/sign/philippines.rst:18 +#: ../../content/applications/productivity/sign/qatar.rst:18 +#: ../../content/applications/productivity/sign/russia.rst:20 +#: ../../content/applications/productivity/sign/saudi_arabia.rst:17 +#: ../../content/applications/productivity/sign/singapore.rst:17 +#: ../../content/applications/productivity/sign/south_africa.rst:18 +#: ../../content/applications/productivity/sign/south_korea.rst:18 +#: ../../content/applications/productivity/sign/switzerland.rst:18 +#: ../../content/applications/productivity/sign/thailand.rst:17 +#: ../../content/applications/productivity/sign/turkey.rst:19 +#: ../../content/applications/productivity/sign/ukraine.rst:17 +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:20 +#: ../../content/applications/productivity/sign/united_kingdom.rst:22 +#: ../../content/applications/productivity/sign/uzbekistan.rst:18 +#: ../../content/applications/productivity/sign/vietnam.rst:19 +msgid "**Legal recognition**: electronic signatures are legally equivalent to handwritten signatures if they meet certain criteria." +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:20 +#: ../../content/applications/productivity/sign/angola.rst:19 +#: ../../content/applications/productivity/sign/argentina.rst:21 +#: ../../content/applications/productivity/sign/australia.rst:21 +#: ../../content/applications/productivity/sign/azerbaijan.rst:20 +#: ../../content/applications/productivity/sign/bangladesh.rst:20 +#: ../../content/applications/productivity/sign/brazil.rst:20 +#: ../../content/applications/productivity/sign/canada.rst:20 +#: ../../content/applications/productivity/sign/chile.rst:23 +#: ../../content/applications/productivity/sign/china.rst:19 +#: ../../content/applications/productivity/sign/colombia.rst:19 +#: ../../content/applications/productivity/sign/dominican_republic.rst:20 +#: ../../content/applications/productivity/sign/ecuador.rst:20 +#: ../../content/applications/productivity/sign/egypt.rst:19 +#: ../../content/applications/productivity/sign/ethiopia.rst:19 +#: ../../content/applications/productivity/sign/germany.rst:21 +#: ../../content/applications/productivity/sign/guatemala.rst:19 +#: ../../content/applications/productivity/sign/hong_kong.rst:19 +#: ../../content/applications/productivity/sign/india.rst:22 +#: ../../content/applications/productivity/sign/indonesia.rst:23 +#: ../../content/applications/productivity/sign/iran.rst:20 +#: ../../content/applications/productivity/sign/iraq.rst:20 +#: ../../content/applications/productivity/sign/israel.rst:19 +#: ../../content/applications/productivity/sign/japan.rst:20 +#: ../../content/applications/productivity/sign/kazakhstan.rst:21 +#: ../../content/applications/productivity/sign/kenya.rst:19 +#: ../../content/applications/productivity/sign/kuwait.rst:20 +#: ../../content/applications/productivity/sign/malaysia.rst:20 +#: ../../content/applications/productivity/sign/mexico.rst:21 +#: ../../content/applications/productivity/sign/morocco.rst:20 +#: ../../content/applications/productivity/sign/new_zealand.rst:20 +#: ../../content/applications/productivity/sign/nigeria.rst:20 +#: ../../content/applications/productivity/sign/norway.rst:21 +#: ../../content/applications/productivity/sign/oman.rst:19 +#: ../../content/applications/productivity/sign/pakistan.rst:19 +#: ../../content/applications/productivity/sign/peru.rst:21 +#: ../../content/applications/productivity/sign/philippines.rst:20 +#: ../../content/applications/productivity/sign/qatar.rst:20 +#: ../../content/applications/productivity/sign/russia.rst:22 +#: ../../content/applications/productivity/sign/saudi_arabia.rst:19 +#: ../../content/applications/productivity/sign/singapore.rst:19 +#: ../../content/applications/productivity/sign/south_africa.rst:20 +#: ../../content/applications/productivity/sign/south_korea.rst:20 +#: ../../content/applications/productivity/sign/switzerland.rst:20 +#: ../../content/applications/productivity/sign/thailand.rst:19 +#: ../../content/applications/productivity/sign/turkey.rst:21 +#: ../../content/applications/productivity/sign/ukraine.rst:19 +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:22 +#: ../../content/applications/productivity/sign/united_kingdom.rst:24 +#: ../../content/applications/productivity/sign/uzbekistan.rst:20 +#: ../../content/applications/productivity/sign/vietnam.rst:21 +msgid "**Reliability and security**: electronic signatures must be created with a secure method that can reliably identify the signatory and ensure the integrity of the signed document." +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:22 +#: ../../content/applications/productivity/sign/ecuador.rst:22 +#: ../../content/applications/productivity/sign/kazakhstan.rst:23 +#: ../../content/applications/productivity/sign/ukraine.rst:21 +msgid "**Qualified electronic signature**: digital signature generated using a digital certificate supplied by a qualified provider." +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:26 +msgid "How Odoo Sign complies with Algerian regulations" +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:28 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Algeria by incorporating the following features:" +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:31 +#: ../../content/applications/productivity/sign/angola.rst:33 +#: ../../content/applications/productivity/sign/argentina.rst:32 +#: ../../content/applications/productivity/sign/australia.rst:30 +#: ../../content/applications/productivity/sign/azerbaijan.rst:31 +#: ../../content/applications/productivity/sign/bangladesh.rst:31 +#: ../../content/applications/productivity/sign/brazil.rst:35 +#: ../../content/applications/productivity/sign/canada.rst:33 +#: ../../content/applications/productivity/sign/chile.rst:34 +#: ../../content/applications/productivity/sign/china.rst:30 +#: ../../content/applications/productivity/sign/colombia.rst:33 +#: ../../content/applications/productivity/sign/dominican_republic.rst:31 +#: ../../content/applications/productivity/sign/ecuador.rst:31 +#: ../../content/applications/productivity/sign/egypt.rst:30 +#: ../../content/applications/productivity/sign/ethiopia.rst:30 +#: ../../content/applications/productivity/sign/germany.rst:32 +#: ../../content/applications/productivity/sign/guatemala.rst:30 +#: ../../content/applications/productivity/sign/hong_kong.rst:30 +#: ../../content/applications/productivity/sign/india.rst:34 +#: ../../content/applications/productivity/sign/indonesia.rst:36 +#: ../../content/applications/productivity/sign/iran.rst:29 +#: ../../content/applications/productivity/sign/iraq.rst:34 +#: ../../content/applications/productivity/sign/israel.rst:30 +#: ../../content/applications/productivity/sign/japan.rst:31 +#: ../../content/applications/productivity/sign/kazakhstan.rst:32 +#: ../../content/applications/productivity/sign/kenya.rst:30 +#: ../../content/applications/productivity/sign/kuwait.rst:29 +#: ../../content/applications/productivity/sign/malaysia.rst:32 +#: ../../content/applications/productivity/sign/mexico.rst:33 +#: ../../content/applications/productivity/sign/morocco.rst:31 +#: ../../content/applications/productivity/sign/new_zealand.rst:31 +#: ../../content/applications/productivity/sign/nigeria.rst:29 +#: ../../content/applications/productivity/sign/norway.rst:32 +#: ../../content/applications/productivity/sign/oman.rst:30 +#: ../../content/applications/productivity/sign/pakistan.rst:31 +#: ../../content/applications/productivity/sign/peru.rst:33 +#: ../../content/applications/productivity/sign/philippines.rst:33 +#: ../../content/applications/productivity/sign/qatar.rst:31 +#: ../../content/applications/productivity/sign/russia.rst:35 +#: ../../content/applications/productivity/sign/saudi_arabia.rst:30 +#: ../../content/applications/productivity/sign/singapore.rst:28 +#: ../../content/applications/productivity/sign/south_africa.rst:31 +#: ../../content/applications/productivity/sign/south_korea.rst:33 +#: ../../content/applications/productivity/sign/switzerland.rst:31 +#: ../../content/applications/productivity/sign/thailand.rst:28 +#: ../../content/applications/productivity/sign/turkey.rst:32 +#: ../../content/applications/productivity/sign/ukraine.rst:30 +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:33 +#: ../../content/applications/productivity/sign/united_kingdom.rst:37 +#: ../../content/applications/productivity/sign/uzbekistan.rst:31 +#: ../../content/applications/productivity/sign/vietnam.rst:33 +msgid "**Secure signature creation**: Odoo Sign utilizes advanced cryptographic techniques to ensure the authenticity and integrity of electronic signatures." +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:33 +#: ../../content/applications/productivity/sign/angola.rst:35 +#: ../../content/applications/productivity/sign/argentina.rst:34 +#: ../../content/applications/productivity/sign/australia.rst:32 +#: ../../content/applications/productivity/sign/azerbaijan.rst:33 +#: ../../content/applications/productivity/sign/bangladesh.rst:33 +#: ../../content/applications/productivity/sign/brazil.rst:37 +#: ../../content/applications/productivity/sign/canada.rst:35 +#: ../../content/applications/productivity/sign/chile.rst:36 +#: ../../content/applications/productivity/sign/china.rst:32 +#: ../../content/applications/productivity/sign/colombia.rst:35 +#: ../../content/applications/productivity/sign/dominican_republic.rst:33 +#: ../../content/applications/productivity/sign/ecuador.rst:33 +#: ../../content/applications/productivity/sign/egypt.rst:32 +#: ../../content/applications/productivity/sign/ethiopia.rst:32 +#: ../../content/applications/productivity/sign/germany.rst:34 +#: ../../content/applications/productivity/sign/guatemala.rst:32 +#: ../../content/applications/productivity/sign/hong_kong.rst:32 +#: ../../content/applications/productivity/sign/india.rst:36 +#: ../../content/applications/productivity/sign/indonesia.rst:38 +#: ../../content/applications/productivity/sign/iran.rst:31 +#: ../../content/applications/productivity/sign/iraq.rst:36 +#: ../../content/applications/productivity/sign/israel.rst:32 +#: ../../content/applications/productivity/sign/japan.rst:33 +#: ../../content/applications/productivity/sign/kazakhstan.rst:34 +#: ../../content/applications/productivity/sign/kenya.rst:32 +#: ../../content/applications/productivity/sign/kuwait.rst:31 +#: ../../content/applications/productivity/sign/malaysia.rst:34 +#: ../../content/applications/productivity/sign/mexico.rst:35 +#: ../../content/applications/productivity/sign/morocco.rst:33 +#: ../../content/applications/productivity/sign/new_zealand.rst:33 +#: ../../content/applications/productivity/sign/nigeria.rst:31 +#: ../../content/applications/productivity/sign/norway.rst:34 +#: ../../content/applications/productivity/sign/oman.rst:32 +#: ../../content/applications/productivity/sign/pakistan.rst:33 +#: ../../content/applications/productivity/sign/peru.rst:35 +#: ../../content/applications/productivity/sign/philippines.rst:35 +#: ../../content/applications/productivity/sign/qatar.rst:33 +#: ../../content/applications/productivity/sign/russia.rst:37 +#: ../../content/applications/productivity/sign/saudi_arabia.rst:32 +#: ../../content/applications/productivity/sign/singapore.rst:30 +#: ../../content/applications/productivity/sign/south_africa.rst:33 +#: ../../content/applications/productivity/sign/south_korea.rst:35 +#: ../../content/applications/productivity/sign/switzerland.rst:33 +#: ../../content/applications/productivity/sign/thailand.rst:30 +#: ../../content/applications/productivity/sign/turkey.rst:34 +#: ../../content/applications/productivity/sign/ukraine.rst:32 +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:35 +#: ../../content/applications/productivity/sign/united_kingdom.rst:39 +#: ../../content/applications/productivity/sign/uzbekistan.rst:33 +#: ../../content/applications/productivity/sign/vietnam.rst:35 +msgid "**Third-party signature authenticator**: Odoo Online serves as an independent validation mechanism that adds an extra layer of security to the procurement process." +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:35 +#: ../../content/applications/productivity/sign/angola.rst:37 +#: ../../content/applications/productivity/sign/argentina.rst:36 +#: ../../content/applications/productivity/sign/australia.rst:34 +#: ../../content/applications/productivity/sign/azerbaijan.rst:35 +#: ../../content/applications/productivity/sign/bangladesh.rst:35 +#: ../../content/applications/productivity/sign/brazil.rst:39 +#: ../../content/applications/productivity/sign/canada.rst:37 +#: ../../content/applications/productivity/sign/chile.rst:38 +#: ../../content/applications/productivity/sign/china.rst:34 +#: ../../content/applications/productivity/sign/colombia.rst:37 +#: ../../content/applications/productivity/sign/dominican_republic.rst:35 +#: ../../content/applications/productivity/sign/ecuador.rst:35 +#: ../../content/applications/productivity/sign/egypt.rst:34 +#: ../../content/applications/productivity/sign/ethiopia.rst:34 +#: ../../content/applications/productivity/sign/germany.rst:36 +#: ../../content/applications/productivity/sign/guatemala.rst:34 +#: ../../content/applications/productivity/sign/hong_kong.rst:34 +#: ../../content/applications/productivity/sign/india.rst:38 +#: ../../content/applications/productivity/sign/indonesia.rst:40 +#: ../../content/applications/productivity/sign/iran.rst:33 +#: ../../content/applications/productivity/sign/iraq.rst:38 +#: ../../content/applications/productivity/sign/israel.rst:34 +#: ../../content/applications/productivity/sign/japan.rst:35 +#: ../../content/applications/productivity/sign/kazakhstan.rst:36 +#: ../../content/applications/productivity/sign/kenya.rst:34 +#: ../../content/applications/productivity/sign/kuwait.rst:33 +#: ../../content/applications/productivity/sign/malaysia.rst:36 +#: ../../content/applications/productivity/sign/mexico.rst:37 +#: ../../content/applications/productivity/sign/morocco.rst:35 +#: ../../content/applications/productivity/sign/new_zealand.rst:35 +#: ../../content/applications/productivity/sign/nigeria.rst:33 +#: ../../content/applications/productivity/sign/norway.rst:36 +#: ../../content/applications/productivity/sign/oman.rst:34 +#: ../../content/applications/productivity/sign/pakistan.rst:35 +#: ../../content/applications/productivity/sign/peru.rst:37 +#: ../../content/applications/productivity/sign/philippines.rst:37 +#: ../../content/applications/productivity/sign/qatar.rst:35 +#: ../../content/applications/productivity/sign/russia.rst:39 +#: ../../content/applications/productivity/sign/saudi_arabia.rst:34 +#: ../../content/applications/productivity/sign/singapore.rst:32 +#: ../../content/applications/productivity/sign/south_africa.rst:35 +#: ../../content/applications/productivity/sign/south_korea.rst:37 +#: ../../content/applications/productivity/sign/switzerland.rst:35 +#: ../../content/applications/productivity/sign/thailand.rst:32 +#: ../../content/applications/productivity/sign/turkey.rst:36 +#: ../../content/applications/productivity/sign/ukraine.rst:34 +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:37 +#: ../../content/applications/productivity/sign/united_kingdom.rst:41 +#: ../../content/applications/productivity/sign/uzbekistan.rst:35 +#: ../../content/applications/productivity/sign/vietnam.rst:37 +msgid "**Audit trails**: detailed audit logs are maintained to provide evidence of the signing process, including timestamps, IP addresses, and identity verification." +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:37 +#: ../../content/applications/productivity/sign/angola.rst:39 +#: ../../content/applications/productivity/sign/argentina.rst:38 +#: ../../content/applications/productivity/sign/australia.rst:36 +#: ../../content/applications/productivity/sign/azerbaijan.rst:37 +#: ../../content/applications/productivity/sign/bangladesh.rst:37 +#: ../../content/applications/productivity/sign/brazil.rst:41 +#: ../../content/applications/productivity/sign/canada.rst:39 +#: ../../content/applications/productivity/sign/chile.rst:40 +#: ../../content/applications/productivity/sign/china.rst:36 +#: ../../content/applications/productivity/sign/colombia.rst:39 +#: ../../content/applications/productivity/sign/dominican_republic.rst:37 +#: ../../content/applications/productivity/sign/ecuador.rst:37 +#: ../../content/applications/productivity/sign/egypt.rst:36 +#: ../../content/applications/productivity/sign/ethiopia.rst:36 +#: ../../content/applications/productivity/sign/germany.rst:38 +#: ../../content/applications/productivity/sign/guatemala.rst:36 +#: ../../content/applications/productivity/sign/hong_kong.rst:36 +#: ../../content/applications/productivity/sign/india.rst:40 +#: ../../content/applications/productivity/sign/indonesia.rst:42 +#: ../../content/applications/productivity/sign/iran.rst:35 +#: ../../content/applications/productivity/sign/iraq.rst:40 +#: ../../content/applications/productivity/sign/israel.rst:36 +#: ../../content/applications/productivity/sign/japan.rst:37 +#: ../../content/applications/productivity/sign/kazakhstan.rst:38 +#: ../../content/applications/productivity/sign/kenya.rst:36 +#: ../../content/applications/productivity/sign/kuwait.rst:35 +#: ../../content/applications/productivity/sign/malaysia.rst:38 +#: ../../content/applications/productivity/sign/mexico.rst:39 +#: ../../content/applications/productivity/sign/morocco.rst:37 +#: ../../content/applications/productivity/sign/new_zealand.rst:37 +#: ../../content/applications/productivity/sign/nigeria.rst:35 +#: ../../content/applications/productivity/sign/norway.rst:38 +#: ../../content/applications/productivity/sign/oman.rst:36 +#: ../../content/applications/productivity/sign/pakistan.rst:37 +#: ../../content/applications/productivity/sign/peru.rst:39 +#: ../../content/applications/productivity/sign/philippines.rst:39 +#: ../../content/applications/productivity/sign/qatar.rst:37 +#: ../../content/applications/productivity/sign/russia.rst:41 +#: ../../content/applications/productivity/sign/saudi_arabia.rst:36 +#: ../../content/applications/productivity/sign/singapore.rst:34 +#: ../../content/applications/productivity/sign/south_africa.rst:37 +#: ../../content/applications/productivity/sign/south_korea.rst:39 +#: ../../content/applications/productivity/sign/switzerland.rst:37 +#: ../../content/applications/productivity/sign/thailand.rst:34 +#: ../../content/applications/productivity/sign/turkey.rst:38 +#: ../../content/applications/productivity/sign/ukraine.rst:36 +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:39 +#: ../../content/applications/productivity/sign/united_kingdom.rst:43 +#: ../../content/applications/productivity/sign/uzbekistan.rst:37 +#: ../../content/applications/productivity/sign/vietnam.rst:39 +msgid "**Cryptographic traceability and immutability**: Odoo Sign ensures that any operation is logged securely. An audit log provides full transparency to all parties while preserving private data." +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:39 +#: ../../content/applications/productivity/sign/angola.rst:41 +#: ../../content/applications/productivity/sign/argentina.rst:40 +#: ../../content/applications/productivity/sign/australia.rst:38 +#: ../../content/applications/productivity/sign/azerbaijan.rst:39 +#: ../../content/applications/productivity/sign/bangladesh.rst:39 +#: ../../content/applications/productivity/sign/brazil.rst:43 +#: ../../content/applications/productivity/sign/canada.rst:41 +#: ../../content/applications/productivity/sign/chile.rst:42 +#: ../../content/applications/productivity/sign/china.rst:38 +#: ../../content/applications/productivity/sign/colombia.rst:41 +#: ../../content/applications/productivity/sign/dominican_republic.rst:39 +#: ../../content/applications/productivity/sign/ecuador.rst:39 +#: ../../content/applications/productivity/sign/egypt.rst:38 +#: ../../content/applications/productivity/sign/ethiopia.rst:38 +#: ../../content/applications/productivity/sign/germany.rst:40 +#: ../../content/applications/productivity/sign/guatemala.rst:38 +#: ../../content/applications/productivity/sign/hong_kong.rst:38 +#: ../../content/applications/productivity/sign/india.rst:42 +#: ../../content/applications/productivity/sign/indonesia.rst:44 +#: ../../content/applications/productivity/sign/iran.rst:37 +#: ../../content/applications/productivity/sign/iraq.rst:42 +#: ../../content/applications/productivity/sign/israel.rst:38 +#: ../../content/applications/productivity/sign/japan.rst:39 +#: ../../content/applications/productivity/sign/kazakhstan.rst:40 +#: ../../content/applications/productivity/sign/kenya.rst:38 +#: ../../content/applications/productivity/sign/kuwait.rst:37 +#: ../../content/applications/productivity/sign/malaysia.rst:40 +#: ../../content/applications/productivity/sign/mexico.rst:41 +#: ../../content/applications/productivity/sign/morocco.rst:39 +#: ../../content/applications/productivity/sign/new_zealand.rst:39 +#: ../../content/applications/productivity/sign/nigeria.rst:37 +#: ../../content/applications/productivity/sign/norway.rst:40 +#: ../../content/applications/productivity/sign/oman.rst:38 +#: ../../content/applications/productivity/sign/pakistan.rst:39 +#: ../../content/applications/productivity/sign/peru.rst:41 +#: ../../content/applications/productivity/sign/philippines.rst:41 +#: ../../content/applications/productivity/sign/qatar.rst:39 +#: ../../content/applications/productivity/sign/russia.rst:43 +#: ../../content/applications/productivity/sign/saudi_arabia.rst:38 +#: ../../content/applications/productivity/sign/singapore.rst:36 +#: ../../content/applications/productivity/sign/south_africa.rst:39 +#: ../../content/applications/productivity/sign/south_korea.rst:41 +#: ../../content/applications/productivity/sign/switzerland.rst:39 +#: ../../content/applications/productivity/sign/thailand.rst:36 +#: ../../content/applications/productivity/sign/turkey.rst:40 +#: ../../content/applications/productivity/sign/ukraine.rst:38 +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:41 +#: ../../content/applications/productivity/sign/united_kingdom.rst:45 +#: ../../content/applications/productivity/sign/uzbekistan.rst:39 +#: ../../content/applications/productivity/sign/vietnam.rst:41 +msgid "**Multiple authentication means**: authentication by SMS, email, geoIP or handwritten electronic signature." +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:43 +#: ../../content/applications/productivity/sign/angola.rst:45 +#: ../../content/applications/productivity/sign/argentina.rst:44 +#: ../../content/applications/productivity/sign/australia.rst:42 +#: ../../content/applications/productivity/sign/azerbaijan.rst:43 +#: ../../content/applications/productivity/sign/bangladesh.rst:43 +#: ../../content/applications/productivity/sign/brazil.rst:47 +#: ../../content/applications/productivity/sign/canada.rst:45 +#: ../../content/applications/productivity/sign/chile.rst:46 +#: ../../content/applications/productivity/sign/china.rst:42 +#: ../../content/applications/productivity/sign/colombia.rst:45 +#: ../../content/applications/productivity/sign/dominican_republic.rst:43 +#: ../../content/applications/productivity/sign/ecuador.rst:43 +#: ../../content/applications/productivity/sign/egypt.rst:42 +#: ../../content/applications/productivity/sign/ethiopia.rst:42 +#: ../../content/applications/productivity/sign/germany.rst:44 +#: ../../content/applications/productivity/sign/guatemala.rst:42 +#: ../../content/applications/productivity/sign/hong_kong.rst:42 +#: ../../content/applications/productivity/sign/india.rst:46 +#: ../../content/applications/productivity/sign/indonesia.rst:48 +#: ../../content/applications/productivity/sign/iran.rst:41 +#: ../../content/applications/productivity/sign/iraq.rst:46 +#: ../../content/applications/productivity/sign/israel.rst:42 +#: ../../content/applications/productivity/sign/japan.rst:43 +#: ../../content/applications/productivity/sign/kazakhstan.rst:44 +#: ../../content/applications/productivity/sign/kenya.rst:42 +#: ../../content/applications/productivity/sign/kuwait.rst:41 +#: ../../content/applications/productivity/sign/malaysia.rst:44 +#: ../../content/applications/productivity/sign/mexico.rst:45 +#: ../../content/applications/productivity/sign/morocco.rst:43 +#: ../../content/applications/productivity/sign/new_zealand.rst:43 +#: ../../content/applications/productivity/sign/nigeria.rst:41 +#: ../../content/applications/productivity/sign/norway.rst:44 +#: ../../content/applications/productivity/sign/oman.rst:42 +#: ../../content/applications/productivity/sign/pakistan.rst:43 +#: ../../content/applications/productivity/sign/peru.rst:45 +#: ../../content/applications/productivity/sign/philippines.rst:45 +#: ../../content/applications/productivity/sign/qatar.rst:43 +#: ../../content/applications/productivity/sign/russia.rst:47 +#: ../../content/applications/productivity/sign/saudi_arabia.rst:42 +#: ../../content/applications/productivity/sign/singapore.rst:40 +#: ../../content/applications/productivity/sign/south_africa.rst:43 +#: ../../content/applications/productivity/sign/south_korea.rst:45 +#: ../../content/applications/productivity/sign/switzerland.rst:43 +#: ../../content/applications/productivity/sign/thailand.rst:40 +#: ../../content/applications/productivity/sign/turkey.rst:44 +#: ../../content/applications/productivity/sign/ukraine.rst:42 +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:45 +#: ../../content/applications/productivity/sign/united_kingdom.rst:49 +#: ../../content/applications/productivity/sign/uzbekistan.rst:43 +#: ../../content/applications/productivity/sign/vietnam.rst:45 +msgid "Types of documents you can sign with Odoo Sign" +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:45 +#: ../../content/applications/productivity/sign/angola.rst:47 +#: ../../content/applications/productivity/sign/argentina.rst:46 +#: ../../content/applications/productivity/sign/australia.rst:44 +#: ../../content/applications/productivity/sign/azerbaijan.rst:45 +#: ../../content/applications/productivity/sign/bangladesh.rst:45 #: ../../content/applications/productivity/sign/brazil.rst:49 #: ../../content/applications/productivity/sign/canada.rst:47 #: ../../content/applications/productivity/sign/chile.rst:48 @@ -6002,7205 +7024,7943 @@ msgstr "" msgid "Odoo Sign is versatile and can be used for a wide range of documents, including but not limited to:" msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:47 -#: ../../content/applications/productivity/sign/angola.rst:49 -#: ../../content/applications/productivity/sign/argentina.rst:48 -#: ../../content/applications/productivity/sign/australia.rst:46 -#: ../../content/applications/productivity/sign/azerbaijan.rst:47 -#: ../../content/applications/productivity/sign/bangladesh.rst:47 -#: ../../content/applications/productivity/sign/brazil.rst:51 -#: ../../content/applications/productivity/sign/canada.rst:49 -#: ../../content/applications/productivity/sign/chile.rst:50 -#: ../../content/applications/productivity/sign/china.rst:46 -#: ../../content/applications/productivity/sign/colombia.rst:49 -#: ../../content/applications/productivity/sign/dominican_republic.rst:47 -#: ../../content/applications/productivity/sign/ecuador.rst:47 -#: ../../content/applications/productivity/sign/egypt.rst:46 -#: ../../content/applications/productivity/sign/ethiopia.rst:46 -#: ../../content/applications/productivity/sign/germany.rst:48 -#: ../../content/applications/productivity/sign/guatemala.rst:46 -#: ../../content/applications/productivity/sign/hong_kong.rst:46 -#: ../../content/applications/productivity/sign/india.rst:50 -#: ../../content/applications/productivity/sign/indonesia.rst:52 -#: ../../content/applications/productivity/sign/iran.rst:45 -#: ../../content/applications/productivity/sign/iraq.rst:50 -#: ../../content/applications/productivity/sign/israel.rst:46 -#: ../../content/applications/productivity/sign/japan.rst:47 -#: ../../content/applications/productivity/sign/kazakhstan.rst:48 -#: ../../content/applications/productivity/sign/kenya.rst:46 -#: ../../content/applications/productivity/sign/kuwait.rst:45 -#: ../../content/applications/productivity/sign/malaysia.rst:48 -#: ../../content/applications/productivity/sign/mexico.rst:49 -#: ../../content/applications/productivity/sign/morocco.rst:47 -#: ../../content/applications/productivity/sign/new_zealand.rst:47 -#: ../../content/applications/productivity/sign/nigeria.rst:45 -#: ../../content/applications/productivity/sign/norway.rst:48 -#: ../../content/applications/productivity/sign/oman.rst:46 -#: ../../content/applications/productivity/sign/pakistan.rst:47 -#: ../../content/applications/productivity/sign/peru.rst:49 -#: ../../content/applications/productivity/sign/philippines.rst:49 -#: ../../content/applications/productivity/sign/qatar.rst:47 -#: ../../content/applications/productivity/sign/russia.rst:51 -#: ../../content/applications/productivity/sign/saudi_arabia.rst:46 -#: ../../content/applications/productivity/sign/singapore.rst:44 -#: ../../content/applications/productivity/sign/south_africa.rst:47 -#: ../../content/applications/productivity/sign/south_korea.rst:49 -#: ../../content/applications/productivity/sign/switzerland.rst:47 -#: ../../content/applications/productivity/sign/thailand.rst:44 -#: ../../content/applications/productivity/sign/turkey.rst:48 -#: ../../content/applications/productivity/sign/ukraine.rst:46 -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:49 -#: ../../content/applications/productivity/sign/united_kingdom.rst:53 -#: ../../content/applications/productivity/sign/uzbekistan.rst:47 -#: ../../content/applications/productivity/sign/vietnam.rst:49 -msgid "**Contracts and agreements**: business contracts, employment agreements, and service contracts." +#: ../../content/applications/productivity/sign/algeria.rst:47 +#: ../../content/applications/productivity/sign/angola.rst:49 +#: ../../content/applications/productivity/sign/argentina.rst:48 +#: ../../content/applications/productivity/sign/australia.rst:46 +#: ../../content/applications/productivity/sign/azerbaijan.rst:47 +#: ../../content/applications/productivity/sign/bangladesh.rst:47 +#: ../../content/applications/productivity/sign/brazil.rst:51 +#: ../../content/applications/productivity/sign/canada.rst:49 +#: ../../content/applications/productivity/sign/chile.rst:50 +#: ../../content/applications/productivity/sign/china.rst:46 +#: ../../content/applications/productivity/sign/colombia.rst:49 +#: ../../content/applications/productivity/sign/dominican_republic.rst:47 +#: ../../content/applications/productivity/sign/ecuador.rst:47 +#: ../../content/applications/productivity/sign/egypt.rst:46 +#: ../../content/applications/productivity/sign/ethiopia.rst:46 +#: ../../content/applications/productivity/sign/germany.rst:48 +#: ../../content/applications/productivity/sign/guatemala.rst:46 +#: ../../content/applications/productivity/sign/hong_kong.rst:46 +#: ../../content/applications/productivity/sign/india.rst:50 +#: ../../content/applications/productivity/sign/indonesia.rst:52 +#: ../../content/applications/productivity/sign/iran.rst:45 +#: ../../content/applications/productivity/sign/iraq.rst:50 +#: ../../content/applications/productivity/sign/israel.rst:46 +#: ../../content/applications/productivity/sign/japan.rst:47 +#: ../../content/applications/productivity/sign/kazakhstan.rst:48 +#: ../../content/applications/productivity/sign/kenya.rst:46 +#: ../../content/applications/productivity/sign/kuwait.rst:45 +#: ../../content/applications/productivity/sign/malaysia.rst:48 +#: ../../content/applications/productivity/sign/mexico.rst:49 +#: ../../content/applications/productivity/sign/morocco.rst:47 +#: ../../content/applications/productivity/sign/new_zealand.rst:47 +#: ../../content/applications/productivity/sign/nigeria.rst:45 +#: ../../content/applications/productivity/sign/norway.rst:48 +#: ../../content/applications/productivity/sign/oman.rst:46 +#: ../../content/applications/productivity/sign/pakistan.rst:47 +#: ../../content/applications/productivity/sign/peru.rst:49 +#: ../../content/applications/productivity/sign/philippines.rst:49 +#: ../../content/applications/productivity/sign/qatar.rst:47 +#: ../../content/applications/productivity/sign/russia.rst:51 +#: ../../content/applications/productivity/sign/saudi_arabia.rst:46 +#: ../../content/applications/productivity/sign/singapore.rst:44 +#: ../../content/applications/productivity/sign/south_africa.rst:47 +#: ../../content/applications/productivity/sign/south_korea.rst:49 +#: ../../content/applications/productivity/sign/switzerland.rst:47 +#: ../../content/applications/productivity/sign/thailand.rst:44 +#: ../../content/applications/productivity/sign/turkey.rst:48 +#: ../../content/applications/productivity/sign/ukraine.rst:46 +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:49 +#: ../../content/applications/productivity/sign/united_kingdom.rst:53 +#: ../../content/applications/productivity/sign/uzbekistan.rst:47 +#: ../../content/applications/productivity/sign/vietnam.rst:49 +msgid "**Contracts and agreements**: business contracts, employment agreements, and service contracts." +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:48 +#: ../../content/applications/productivity/sign/angola.rst:50 +#: ../../content/applications/productivity/sign/argentina.rst:49 +#: ../../content/applications/productivity/sign/australia.rst:47 +#: ../../content/applications/productivity/sign/azerbaijan.rst:48 +#: ../../content/applications/productivity/sign/bangladesh.rst:48 +#: ../../content/applications/productivity/sign/brazil.rst:52 +#: ../../content/applications/productivity/sign/canada.rst:50 +#: ../../content/applications/productivity/sign/chile.rst:51 +#: ../../content/applications/productivity/sign/china.rst:47 +#: ../../content/applications/productivity/sign/colombia.rst:50 +#: ../../content/applications/productivity/sign/dominican_republic.rst:48 +#: ../../content/applications/productivity/sign/ecuador.rst:48 +#: ../../content/applications/productivity/sign/egypt.rst:47 +#: ../../content/applications/productivity/sign/ethiopia.rst:47 +#: ../../content/applications/productivity/sign/germany.rst:49 +#: ../../content/applications/productivity/sign/guatemala.rst:47 +#: ../../content/applications/productivity/sign/hong_kong.rst:47 +#: ../../content/applications/productivity/sign/india.rst:51 +#: ../../content/applications/productivity/sign/indonesia.rst:53 +#: ../../content/applications/productivity/sign/iran.rst:46 +#: ../../content/applications/productivity/sign/iraq.rst:51 +#: ../../content/applications/productivity/sign/israel.rst:47 +#: ../../content/applications/productivity/sign/japan.rst:48 +#: ../../content/applications/productivity/sign/kazakhstan.rst:49 +#: ../../content/applications/productivity/sign/kenya.rst:47 +#: ../../content/applications/productivity/sign/kuwait.rst:46 +#: ../../content/applications/productivity/sign/malaysia.rst:49 +#: ../../content/applications/productivity/sign/mexico.rst:50 +#: ../../content/applications/productivity/sign/morocco.rst:48 +#: ../../content/applications/productivity/sign/new_zealand.rst:48 +#: ../../content/applications/productivity/sign/nigeria.rst:46 +#: ../../content/applications/productivity/sign/norway.rst:49 +#: ../../content/applications/productivity/sign/oman.rst:47 +#: ../../content/applications/productivity/sign/pakistan.rst:48 +#: ../../content/applications/productivity/sign/peru.rst:50 +#: ../../content/applications/productivity/sign/philippines.rst:50 +#: ../../content/applications/productivity/sign/qatar.rst:48 +#: ../../content/applications/productivity/sign/russia.rst:52 +#: ../../content/applications/productivity/sign/saudi_arabia.rst:47 +#: ../../content/applications/productivity/sign/singapore.rst:45 +#: ../../content/applications/productivity/sign/south_africa.rst:48 +#: ../../content/applications/productivity/sign/south_korea.rst:50 +#: ../../content/applications/productivity/sign/switzerland.rst:48 +#: ../../content/applications/productivity/sign/thailand.rst:45 +#: ../../content/applications/productivity/sign/turkey.rst:49 +#: ../../content/applications/productivity/sign/ukraine.rst:47 +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:50 +#: ../../content/applications/productivity/sign/united_kingdom.rst:54 +#: ../../content/applications/productivity/sign/uzbekistan.rst:48 +#: ../../content/applications/productivity/sign/vietnam.rst:50 +msgid "**Financial documents**: loan agreements, investment documents, and financial reports." +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:49 +#: ../../content/applications/productivity/sign/angola.rst:51 +#: ../../content/applications/productivity/sign/argentina.rst:50 +#: ../../content/applications/productivity/sign/australia.rst:48 +#: ../../content/applications/productivity/sign/azerbaijan.rst:49 +#: ../../content/applications/productivity/sign/bangladesh.rst:49 +#: ../../content/applications/productivity/sign/brazil.rst:53 +#: ../../content/applications/productivity/sign/canada.rst:51 +#: ../../content/applications/productivity/sign/chile.rst:52 +#: ../../content/applications/productivity/sign/china.rst:48 +#: ../../content/applications/productivity/sign/colombia.rst:51 +#: ../../content/applications/productivity/sign/dominican_republic.rst:49 +#: ../../content/applications/productivity/sign/ecuador.rst:49 +#: ../../content/applications/productivity/sign/egypt.rst:48 +#: ../../content/applications/productivity/sign/ethiopia.rst:48 +#: ../../content/applications/productivity/sign/germany.rst:50 +#: ../../content/applications/productivity/sign/guatemala.rst:48 +#: ../../content/applications/productivity/sign/hong_kong.rst:48 +#: ../../content/applications/productivity/sign/india.rst:52 +#: ../../content/applications/productivity/sign/indonesia.rst:54 +#: ../../content/applications/productivity/sign/iran.rst:47 +#: ../../content/applications/productivity/sign/iraq.rst:52 +#: ../../content/applications/productivity/sign/israel.rst:48 +#: ../../content/applications/productivity/sign/japan.rst:49 +#: ../../content/applications/productivity/sign/kazakhstan.rst:50 +#: ../../content/applications/productivity/sign/kenya.rst:48 +#: ../../content/applications/productivity/sign/kuwait.rst:47 +#: ../../content/applications/productivity/sign/malaysia.rst:50 +#: ../../content/applications/productivity/sign/mexico.rst:51 +#: ../../content/applications/productivity/sign/morocco.rst:49 +#: ../../content/applications/productivity/sign/new_zealand.rst:49 +#: ../../content/applications/productivity/sign/nigeria.rst:47 +#: ../../content/applications/productivity/sign/norway.rst:50 +#: ../../content/applications/productivity/sign/oman.rst:48 +#: ../../content/applications/productivity/sign/pakistan.rst:49 +#: ../../content/applications/productivity/sign/peru.rst:51 +#: ../../content/applications/productivity/sign/philippines.rst:51 +#: ../../content/applications/productivity/sign/qatar.rst:49 +#: ../../content/applications/productivity/sign/russia.rst:53 +#: ../../content/applications/productivity/sign/saudi_arabia.rst:48 +#: ../../content/applications/productivity/sign/singapore.rst:46 +#: ../../content/applications/productivity/sign/south_africa.rst:49 +#: ../../content/applications/productivity/sign/south_korea.rst:51 +#: ../../content/applications/productivity/sign/switzerland.rst:49 +#: ../../content/applications/productivity/sign/thailand.rst:46 +#: ../../content/applications/productivity/sign/turkey.rst:50 +#: ../../content/applications/productivity/sign/ukraine.rst:48 +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:51 +#: ../../content/applications/productivity/sign/united_kingdom.rst:55 +#: ../../content/applications/productivity/sign/uzbekistan.rst:49 +#: ../../content/applications/productivity/sign/vietnam.rst:51 +msgid "**HR documents**: employee onboarding forms, non-disclosure agreements (NDAs), and performance reviews." +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:51 +#: ../../content/applications/productivity/sign/angola.rst:53 +#: ../../content/applications/productivity/sign/argentina.rst:52 +#: ../../content/applications/productivity/sign/australia.rst:50 +#: ../../content/applications/productivity/sign/azerbaijan.rst:51 +#: ../../content/applications/productivity/sign/bangladesh.rst:51 +#: ../../content/applications/productivity/sign/brazil.rst:55 +#: ../../content/applications/productivity/sign/canada.rst:53 +#: ../../content/applications/productivity/sign/chile.rst:54 +#: ../../content/applications/productivity/sign/china.rst:50 +#: ../../content/applications/productivity/sign/colombia.rst:53 +#: ../../content/applications/productivity/sign/dominican_republic.rst:51 +#: ../../content/applications/productivity/sign/ecuador.rst:51 +#: ../../content/applications/productivity/sign/egypt.rst:50 +#: ../../content/applications/productivity/sign/ethiopia.rst:50 +#: ../../content/applications/productivity/sign/germany.rst:52 +#: ../../content/applications/productivity/sign/guatemala.rst:50 +#: ../../content/applications/productivity/sign/hong_kong.rst:50 +#: ../../content/applications/productivity/sign/india.rst:54 +#: ../../content/applications/productivity/sign/indonesia.rst:56 +#: ../../content/applications/productivity/sign/iran.rst:49 +#: ../../content/applications/productivity/sign/iraq.rst:54 +#: ../../content/applications/productivity/sign/israel.rst:50 +#: ../../content/applications/productivity/sign/japan.rst:51 +#: ../../content/applications/productivity/sign/kazakhstan.rst:52 +#: ../../content/applications/productivity/sign/kenya.rst:50 +#: ../../content/applications/productivity/sign/kuwait.rst:49 +#: ../../content/applications/productivity/sign/malaysia.rst:52 +#: ../../content/applications/productivity/sign/mexico.rst:53 +#: ../../content/applications/productivity/sign/morocco.rst:51 +#: ../../content/applications/productivity/sign/new_zealand.rst:51 +#: ../../content/applications/productivity/sign/nigeria.rst:49 +#: ../../content/applications/productivity/sign/norway.rst:52 +#: ../../content/applications/productivity/sign/oman.rst:50 +#: ../../content/applications/productivity/sign/pakistan.rst:51 +#: ../../content/applications/productivity/sign/peru.rst:53 +#: ../../content/applications/productivity/sign/philippines.rst:53 +#: ../../content/applications/productivity/sign/qatar.rst:51 +#: ../../content/applications/productivity/sign/russia.rst:55 +#: ../../content/applications/productivity/sign/saudi_arabia.rst:50 +#: ../../content/applications/productivity/sign/singapore.rst:48 +#: ../../content/applications/productivity/sign/south_africa.rst:51 +#: ../../content/applications/productivity/sign/south_korea.rst:53 +#: ../../content/applications/productivity/sign/switzerland.rst:51 +#: ../../content/applications/productivity/sign/thailand.rst:48 +#: ../../content/applications/productivity/sign/turkey.rst:52 +#: ../../content/applications/productivity/sign/ukraine.rst:50 +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:53 +#: ../../content/applications/productivity/sign/united_kingdom.rst:57 +#: ../../content/applications/productivity/sign/uzbekistan.rst:51 +#: ../../content/applications/productivity/sign/vietnam.rst:53 +msgid "**Commercial transactions**: purchase orders, sales agreements, and supplier contracts." +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:54 +#: ../../content/applications/productivity/sign/angola.rst:56 +#: ../../content/applications/productivity/sign/argentina.rst:55 +#: ../../content/applications/productivity/sign/australia.rst:53 +#: ../../content/applications/productivity/sign/azerbaijan.rst:54 +#: ../../content/applications/productivity/sign/bangladesh.rst:54 +#: ../../content/applications/productivity/sign/brazil.rst:58 +#: ../../content/applications/productivity/sign/canada.rst:56 +#: ../../content/applications/productivity/sign/chile.rst:57 +#: ../../content/applications/productivity/sign/china.rst:53 +#: ../../content/applications/productivity/sign/colombia.rst:56 +#: ../../content/applications/productivity/sign/dominican_republic.rst:54 +#: ../../content/applications/productivity/sign/ecuador.rst:54 +#: ../../content/applications/productivity/sign/egypt.rst:53 +#: ../../content/applications/productivity/sign/ethiopia.rst:53 +#: ../../content/applications/productivity/sign/germany.rst:55 +#: ../../content/applications/productivity/sign/guatemala.rst:53 +#: ../../content/applications/productivity/sign/hong_kong.rst:53 +#: ../../content/applications/productivity/sign/india.rst:57 +#: ../../content/applications/productivity/sign/indonesia.rst:59 +#: ../../content/applications/productivity/sign/iran.rst:52 +#: ../../content/applications/productivity/sign/iraq.rst:57 +#: ../../content/applications/productivity/sign/israel.rst:53 +#: ../../content/applications/productivity/sign/japan.rst:54 +#: ../../content/applications/productivity/sign/kazakhstan.rst:55 +#: ../../content/applications/productivity/sign/kenya.rst:53 +#: ../../content/applications/productivity/sign/kuwait.rst:52 +#: ../../content/applications/productivity/sign/malaysia.rst:55 +#: ../../content/applications/productivity/sign/mexico.rst:56 +#: ../../content/applications/productivity/sign/morocco.rst:54 +#: ../../content/applications/productivity/sign/new_zealand.rst:54 +#: ../../content/applications/productivity/sign/nigeria.rst:52 +#: ../../content/applications/productivity/sign/norway.rst:55 +#: ../../content/applications/productivity/sign/oman.rst:53 +#: ../../content/applications/productivity/sign/pakistan.rst:54 +#: ../../content/applications/productivity/sign/peru.rst:56 +#: ../../content/applications/productivity/sign/philippines.rst:56 +#: ../../content/applications/productivity/sign/qatar.rst:54 +#: ../../content/applications/productivity/sign/russia.rst:58 +#: ../../content/applications/productivity/sign/saudi_arabia.rst:53 +#: ../../content/applications/productivity/sign/singapore.rst:51 +#: ../../content/applications/productivity/sign/south_africa.rst:54 +#: ../../content/applications/productivity/sign/south_korea.rst:56 +#: ../../content/applications/productivity/sign/switzerland.rst:54 +#: ../../content/applications/productivity/sign/thailand.rst:51 +#: ../../content/applications/productivity/sign/turkey.rst:55 +#: ../../content/applications/productivity/sign/ukraine.rst:53 +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:56 +#: ../../content/applications/productivity/sign/united_kingdom.rst:60 +#: ../../content/applications/productivity/sign/uzbekistan.rst:54 +#: ../../content/applications/productivity/sign/vietnam.rst:56 +msgid "Potential exceptions" +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:56 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Algeria:" +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:59 +#: ../../content/applications/productivity/sign/angola.rst:61 +#: ../../content/applications/productivity/sign/argentina.rst:60 +#: ../../content/applications/productivity/sign/australia.rst:58 +#: ../../content/applications/productivity/sign/azerbaijan.rst:59 +#: ../../content/applications/productivity/sign/bangladesh.rst:59 +#: ../../content/applications/productivity/sign/brazil.rst:63 +#: ../../content/applications/productivity/sign/canada.rst:61 +#: ../../content/applications/productivity/sign/chile.rst:62 +#: ../../content/applications/productivity/sign/china.rst:58 +#: ../../content/applications/productivity/sign/colombia.rst:61 +#: ../../content/applications/productivity/sign/dominican_republic.rst:59 +#: ../../content/applications/productivity/sign/ecuador.rst:59 +#: ../../content/applications/productivity/sign/egypt.rst:58 +#: ../../content/applications/productivity/sign/ethiopia.rst:58 +#: ../../content/applications/productivity/sign/germany.rst:60 +#: ../../content/applications/productivity/sign/guatemala.rst:58 +#: ../../content/applications/productivity/sign/hong_kong.rst:58 +#: ../../content/applications/productivity/sign/india.rst:62 +#: ../../content/applications/productivity/sign/indonesia.rst:64 +#: ../../content/applications/productivity/sign/iran.rst:57 +#: ../../content/applications/productivity/sign/iraq.rst:62 +#: ../../content/applications/productivity/sign/israel.rst:58 +#: ../../content/applications/productivity/sign/japan.rst:59 +#: ../../content/applications/productivity/sign/kazakhstan.rst:60 +#: ../../content/applications/productivity/sign/kenya.rst:58 +#: ../../content/applications/productivity/sign/kuwait.rst:57 +#: ../../content/applications/productivity/sign/malaysia.rst:60 +#: ../../content/applications/productivity/sign/mexico.rst:61 +#: ../../content/applications/productivity/sign/morocco.rst:59 +#: ../../content/applications/productivity/sign/new_zealand.rst:59 +#: ../../content/applications/productivity/sign/nigeria.rst:57 +#: ../../content/applications/productivity/sign/norway.rst:60 +#: ../../content/applications/productivity/sign/oman.rst:58 +#: ../../content/applications/productivity/sign/pakistan.rst:59 +#: ../../content/applications/productivity/sign/peru.rst:61 +#: ../../content/applications/productivity/sign/philippines.rst:61 +#: ../../content/applications/productivity/sign/qatar.rst:59 +#: ../../content/applications/productivity/sign/russia.rst:63 +#: ../../content/applications/productivity/sign/saudi_arabia.rst:58 +#: ../../content/applications/productivity/sign/singapore.rst:56 +#: ../../content/applications/productivity/sign/south_africa.rst:59 +#: ../../content/applications/productivity/sign/south_korea.rst:61 +#: ../../content/applications/productivity/sign/switzerland.rst:59 +#: ../../content/applications/productivity/sign/thailand.rst:56 +#: ../../content/applications/productivity/sign/turkey.rst:60 +#: ../../content/applications/productivity/sign/ukraine.rst:58 +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:61 +#: ../../content/applications/productivity/sign/united_kingdom.rst:65 +#: ../../content/applications/productivity/sign/uzbekistan.rst:59 +#: ../../content/applications/productivity/sign/vietnam.rst:61 +msgid "**Wills and trusts**: documents related to inheritance, wills, and trusts often require handwritten signatures." +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:61 +#: ../../content/applications/productivity/sign/angola.rst:63 +#: ../../content/applications/productivity/sign/argentina.rst:62 +#: ../../content/applications/productivity/sign/australia.rst:60 +#: ../../content/applications/productivity/sign/azerbaijan.rst:61 +#: ../../content/applications/productivity/sign/bangladesh.rst:61 +#: ../../content/applications/productivity/sign/brazil.rst:65 +#: ../../content/applications/productivity/sign/canada.rst:63 +#: ../../content/applications/productivity/sign/chile.rst:64 +#: ../../content/applications/productivity/sign/china.rst:60 +#: ../../content/applications/productivity/sign/colombia.rst:63 +#: ../../content/applications/productivity/sign/dominican_republic.rst:61 +#: ../../content/applications/productivity/sign/ecuador.rst:61 +#: ../../content/applications/productivity/sign/egypt.rst:60 +#: ../../content/applications/productivity/sign/ethiopia.rst:60 +#: ../../content/applications/productivity/sign/germany.rst:62 +#: ../../content/applications/productivity/sign/guatemala.rst:60 +#: ../../content/applications/productivity/sign/hong_kong.rst:60 +#: ../../content/applications/productivity/sign/india.rst:64 +#: ../../content/applications/productivity/sign/indonesia.rst:66 +#: ../../content/applications/productivity/sign/iran.rst:59 +#: ../../content/applications/productivity/sign/iraq.rst:64 +#: ../../content/applications/productivity/sign/israel.rst:60 +#: ../../content/applications/productivity/sign/japan.rst:61 +#: ../../content/applications/productivity/sign/kazakhstan.rst:62 +#: ../../content/applications/productivity/sign/kenya.rst:60 +#: ../../content/applications/productivity/sign/kuwait.rst:59 +#: ../../content/applications/productivity/sign/malaysia.rst:62 +#: ../../content/applications/productivity/sign/mexico.rst:63 +#: ../../content/applications/productivity/sign/morocco.rst:61 +#: ../../content/applications/productivity/sign/new_zealand.rst:61 +#: ../../content/applications/productivity/sign/nigeria.rst:59 +#: ../../content/applications/productivity/sign/norway.rst:62 +#: ../../content/applications/productivity/sign/oman.rst:60 +#: ../../content/applications/productivity/sign/pakistan.rst:61 +#: ../../content/applications/productivity/sign/peru.rst:63 +#: ../../content/applications/productivity/sign/philippines.rst:63 +#: ../../content/applications/productivity/sign/qatar.rst:61 +#: ../../content/applications/productivity/sign/russia.rst:65 +#: ../../content/applications/productivity/sign/saudi_arabia.rst:60 +#: ../../content/applications/productivity/sign/singapore.rst:58 +#: ../../content/applications/productivity/sign/south_africa.rst:61 +#: ../../content/applications/productivity/sign/south_korea.rst:63 +#: ../../content/applications/productivity/sign/switzerland.rst:61 +#: ../../content/applications/productivity/sign/thailand.rst:58 +#: ../../content/applications/productivity/sign/turkey.rst:62 +#: ../../content/applications/productivity/sign/ukraine.rst:60 +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:63 +#: ../../content/applications/productivity/sign/united_kingdom.rst:67 +#: ../../content/applications/productivity/sign/uzbekistan.rst:61 +#: ../../content/applications/productivity/sign/vietnam.rst:63 +msgid "**Real estate transactions**: some property transactions may still require notarized handwritten signatures." +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:63 +#: ../../content/applications/productivity/sign/angola.rst:65 +#: ../../content/applications/productivity/sign/argentina.rst:64 +#: ../../content/applications/productivity/sign/australia.rst:62 +#: ../../content/applications/productivity/sign/azerbaijan.rst:63 +#: ../../content/applications/productivity/sign/bangladesh.rst:63 +#: ../../content/applications/productivity/sign/brazil.rst:67 +#: ../../content/applications/productivity/sign/canada.rst:65 +#: ../../content/applications/productivity/sign/chile.rst:66 +#: ../../content/applications/productivity/sign/china.rst:62 +#: ../../content/applications/productivity/sign/colombia.rst:65 +#: ../../content/applications/productivity/sign/dominican_republic.rst:63 +#: ../../content/applications/productivity/sign/ecuador.rst:63 +#: ../../content/applications/productivity/sign/egypt.rst:62 +#: ../../content/applications/productivity/sign/ethiopia.rst:62 +#: ../../content/applications/productivity/sign/germany.rst:64 +#: ../../content/applications/productivity/sign/guatemala.rst:62 +#: ../../content/applications/productivity/sign/hong_kong.rst:62 +#: ../../content/applications/productivity/sign/india.rst:66 +#: ../../content/applications/productivity/sign/indonesia.rst:68 +#: ../../content/applications/productivity/sign/iran.rst:61 +#: ../../content/applications/productivity/sign/iraq.rst:66 +#: ../../content/applications/productivity/sign/israel.rst:62 +#: ../../content/applications/productivity/sign/japan.rst:63 +#: ../../content/applications/productivity/sign/kazakhstan.rst:64 +#: ../../content/applications/productivity/sign/kenya.rst:62 +#: ../../content/applications/productivity/sign/kuwait.rst:61 +#: ../../content/applications/productivity/sign/malaysia.rst:64 +#: ../../content/applications/productivity/sign/mexico.rst:65 +#: ../../content/applications/productivity/sign/morocco.rst:63 +#: ../../content/applications/productivity/sign/new_zealand.rst:63 +#: ../../content/applications/productivity/sign/nigeria.rst:61 +#: ../../content/applications/productivity/sign/norway.rst:64 +#: ../../content/applications/productivity/sign/oman.rst:62 +#: ../../content/applications/productivity/sign/pakistan.rst:63 +#: ../../content/applications/productivity/sign/peru.rst:65 +#: ../../content/applications/productivity/sign/philippines.rst:65 +#: ../../content/applications/productivity/sign/qatar.rst:63 +#: ../../content/applications/productivity/sign/russia.rst:67 +#: ../../content/applications/productivity/sign/saudi_arabia.rst:62 +#: ../../content/applications/productivity/sign/singapore.rst:60 +#: ../../content/applications/productivity/sign/south_africa.rst:63 +#: ../../content/applications/productivity/sign/south_korea.rst:65 +#: ../../content/applications/productivity/sign/switzerland.rst:63 +#: ../../content/applications/productivity/sign/thailand.rst:60 +#: ../../content/applications/productivity/sign/turkey.rst:64 +#: ../../content/applications/productivity/sign/ukraine.rst:62 +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:65 +#: ../../content/applications/productivity/sign/united_kingdom.rst:69 +#: ../../content/applications/productivity/sign/uzbekistan.rst:63 +#: ../../content/applications/productivity/sign/vietnam.rst:65 +msgid "**Government forms**: specific government forms and applications may mandate physical signatures." +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:65 +#: ../../content/applications/productivity/sign/angola.rst:67 +#: ../../content/applications/productivity/sign/argentina.rst:66 +#: ../../content/applications/productivity/sign/australia.rst:64 +#: ../../content/applications/productivity/sign/azerbaijan.rst:65 +#: ../../content/applications/productivity/sign/bangladesh.rst:65 +#: ../../content/applications/productivity/sign/brazil.rst:69 +#: ../../content/applications/productivity/sign/canada.rst:67 +#: ../../content/applications/productivity/sign/chile.rst:68 +#: ../../content/applications/productivity/sign/china.rst:64 +#: ../../content/applications/productivity/sign/colombia.rst:67 +#: ../../content/applications/productivity/sign/dominican_republic.rst:65 +#: ../../content/applications/productivity/sign/ecuador.rst:65 +#: ../../content/applications/productivity/sign/egypt.rst:64 +#: ../../content/applications/productivity/sign/ethiopia.rst:64 +#: ../../content/applications/productivity/sign/germany.rst:66 +#: ../../content/applications/productivity/sign/guatemala.rst:64 +#: ../../content/applications/productivity/sign/hong_kong.rst:64 +#: ../../content/applications/productivity/sign/india.rst:68 +#: ../../content/applications/productivity/sign/indonesia.rst:70 +#: ../../content/applications/productivity/sign/iran.rst:63 +#: ../../content/applications/productivity/sign/iraq.rst:68 +#: ../../content/applications/productivity/sign/israel.rst:64 +#: ../../content/applications/productivity/sign/japan.rst:65 +#: ../../content/applications/productivity/sign/kazakhstan.rst:66 +#: ../../content/applications/productivity/sign/kenya.rst:64 +#: ../../content/applications/productivity/sign/kuwait.rst:63 +#: ../../content/applications/productivity/sign/malaysia.rst:66 +#: ../../content/applications/productivity/sign/mexico.rst:67 +#: ../../content/applications/productivity/sign/morocco.rst:65 +#: ../../content/applications/productivity/sign/new_zealand.rst:65 +#: ../../content/applications/productivity/sign/nigeria.rst:63 +#: ../../content/applications/productivity/sign/norway.rst:66 +#: ../../content/applications/productivity/sign/oman.rst:64 +#: ../../content/applications/productivity/sign/pakistan.rst:65 +#: ../../content/applications/productivity/sign/peru.rst:67 +#: ../../content/applications/productivity/sign/philippines.rst:67 +#: ../../content/applications/productivity/sign/qatar.rst:65 +#: ../../content/applications/productivity/sign/russia.rst:69 +#: ../../content/applications/productivity/sign/saudi_arabia.rst:64 +#: ../../content/applications/productivity/sign/singapore.rst:62 +#: ../../content/applications/productivity/sign/south_africa.rst:65 +#: ../../content/applications/productivity/sign/south_korea.rst:67 +#: ../../content/applications/productivity/sign/switzerland.rst:65 +#: ../../content/applications/productivity/sign/thailand.rst:62 +#: ../../content/applications/productivity/sign/turkey.rst:66 +#: ../../content/applications/productivity/sign/ukraine.rst:64 +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:67 +#: ../../content/applications/productivity/sign/united_kingdom.rst:71 +#: ../../content/applications/productivity/sign/uzbekistan.rst:65 +#: ../../content/applications/productivity/sign/vietnam.rst:67 +msgid "Disclaimer" +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:67 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Algeria, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +msgstr "" + +#: ../../content/applications/productivity/sign/algeria.rst:73 +#: ../../content/applications/productivity/sign/angola.rst:75 +#: ../../content/applications/productivity/sign/argentina.rst:74 +#: ../../content/applications/productivity/sign/azerbaijan.rst:73 +#: ../../content/applications/productivity/sign/bangladesh.rst:73 +#: ../../content/applications/productivity/sign/chile.rst:76 +#: ../../content/applications/productivity/sign/colombia.rst:75 +#: ../../content/applications/productivity/sign/dominican_republic.rst:73 +#: ../../content/applications/productivity/sign/ecuador.rst:73 +#: ../../content/applications/productivity/sign/ethiopia.rst:72 +#: ../../content/applications/productivity/sign/germany.rst:74 +#: ../../content/applications/productivity/sign/guatemala.rst:72 +#: ../../content/applications/productivity/sign/hong_kong.rst:72 +#: ../../content/applications/productivity/sign/iran.rst:71 +#: ../../content/applications/productivity/sign/iraq.rst:76 +#: ../../content/applications/productivity/sign/israel.rst:72 +#: ../../content/applications/productivity/sign/kazakhstan.rst:74 +#: ../../content/applications/productivity/sign/kenya.rst:72 +#: ../../content/applications/productivity/sign/kuwait.rst:71 +#: ../../content/applications/productivity/sign/malaysia.rst:74 +#: ../../content/applications/productivity/sign/morocco.rst:73 +#: ../../content/applications/productivity/sign/new_zealand.rst:73 +#: ../../content/applications/productivity/sign/nigeria.rst:71 +#: ../../content/applications/productivity/sign/norway.rst:74 +#: ../../content/applications/productivity/sign/oman.rst:72 +#: ../../content/applications/productivity/sign/pakistan.rst:73 +#: ../../content/applications/productivity/sign/peru.rst:75 +#: ../../content/applications/productivity/sign/philippines.rst:75 +#: ../../content/applications/productivity/sign/qatar.rst:73 +#: ../../content/applications/productivity/sign/saudi_arabia.rst:72 +#: ../../content/applications/productivity/sign/singapore.rst:70 +#: ../../content/applications/productivity/sign/south_africa.rst:73 +#: ../../content/applications/productivity/sign/switzerland.rst:73 +#: ../../content/applications/productivity/sign/thailand.rst:70 +#: ../../content/applications/productivity/sign/turkey.rst:74 +#: ../../content/applications/productivity/sign/ukraine.rst:72 +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:75 +#: ../../content/applications/productivity/sign/uzbekistan.rst:73 +#: ../../content/applications/productivity/sign/vietnam.rst:75 +msgid "*Last updated: June 21, 2024*" +msgstr "" + +#: ../../content/applications/productivity/sign/angola.rst:5 +msgid "Odoo Sign legality in Angola" +msgstr "" + +#: ../../content/applications/productivity/sign/angola.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Angola." +msgstr "" + +#: ../../content/applications/productivity/sign/angola.rst:11 +msgid "Legal framework for electronic signatures in Angola" +msgstr "" + +#: ../../content/applications/productivity/sign/angola.rst:13 +msgid "In Angola, electronic signatures are regulated under the Presidential Decree 312/2018 and Executive Order 74/2019. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +msgstr "" + +#: ../../content/applications/productivity/sign/angola.rst:21 +msgid "**Certified electronic signature**: digital signature generated using a digital certificate supplied by a qualified provider. In some cases, only the certified electronic signature has legal and juridical validity in Angola. In those cases, simple electronic signatures like the Odoo Signature only work as a proof of the agreement to celebrate the corresponding transaction, which will be submitted to the authority's criteria." +msgstr "" + +#: ../../content/applications/productivity/sign/angola.rst:28 +msgid "How Odoo Sign complies with Angolan regulations" +msgstr "" + +#: ../../content/applications/productivity/sign/angola.rst:30 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Angola by incorporating the following features:" +msgstr "" + +#: ../../content/applications/productivity/sign/angola.rst:58 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Angola:" +msgstr "" + +#: ../../content/applications/productivity/sign/angola.rst:69 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Angola, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +msgstr "" + +#: ../../content/applications/productivity/sign/argentina.rst:5 +msgid "Odoo Sign legality in Argentina" +msgstr "" + +#: ../../content/applications/productivity/sign/argentina.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Argentina." +msgstr "" + +#: ../../content/applications/productivity/sign/argentina.rst:11 +msgid "Legal framework for electronic signatures in Argentina" +msgstr "" + +#: ../../content/applications/productivity/sign/argentina.rst:13 +msgid "In Argentina, electronic signatures are regulated under the `Digital Signature Law `_, and the `Civil and Commercial Code `_. The law governs transactions performed through electronic means and the use of electronic signatures. The key points of the law include:" +msgstr "" + +#: ../../content/applications/productivity/sign/argentina.rst:23 +msgid "**Qualified digital signatures**: the law recognizes electronic signatures supported by digital certificates issued by accredited Certification Service Providers." +msgstr "" + +#: ../../content/applications/productivity/sign/argentina.rst:27 +msgid "How Odoo Sign complies with Argentinian regulations" +msgstr "" + +#: ../../content/applications/productivity/sign/argentina.rst:29 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Argentina by incorporating the following features:" +msgstr "" + +#: ../../content/applications/productivity/sign/argentina.rst:57 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Argentina:" +msgstr "" + +#: ../../content/applications/productivity/sign/argentina.rst:68 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Argentina, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +msgstr "" + +#: ../../content/applications/productivity/sign/australia.rst:5 +msgid "Odoo Sign legality in Australia" +msgstr "" + +#: ../../content/applications/productivity/sign/australia.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Australia." +msgstr "" + +#: ../../content/applications/productivity/sign/australia.rst:11 +msgid "Legal framework for electronic signatures in Australia" +msgstr "" + +#: ../../content/applications/productivity/sign/australia.rst:13 +msgid "In Australia, electronic signatures are regulated under the `Electronic Transactions Act (ETA) `_, the `Electronic Transactions Regulations (ETR) `_ and local regulations in each state. The law governs transactions performed through electronic means and the use of electronic signatures. The key points of the law include:" +msgstr "" + +#: ../../content/applications/productivity/sign/australia.rst:25 +msgid "How Odoo Sign complies with Australian regulations" +msgstr "" + +#: ../../content/applications/productivity/sign/australia.rst:27 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Australia by incorporating the following features:" +msgstr "" + +#: ../../content/applications/productivity/sign/australia.rst:55 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Australia:" +msgstr "" + +#: ../../content/applications/productivity/sign/australia.rst:66 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Australia, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +msgstr "" + +#: ../../content/applications/productivity/sign/australia.rst:72 +#: ../../content/applications/productivity/sign/brazil.rst:77 +#: ../../content/applications/productivity/sign/canada.rst:75 +#: ../../content/applications/productivity/sign/china.rst:72 +#: ../../content/applications/productivity/sign/egypt.rst:72 +#: ../../content/applications/productivity/sign/india.rst:76 +#: ../../content/applications/productivity/sign/indonesia.rst:78 +#: ../../content/applications/productivity/sign/japan.rst:73 +#: ../../content/applications/productivity/sign/mexico.rst:75 +#: ../../content/applications/productivity/sign/russia.rst:77 +#: ../../content/applications/productivity/sign/south_korea.rst:75 +#: ../../content/applications/productivity/sign/united_kingdom.rst:79 +msgid "*Last updated: June 19, 2024*" +msgstr "" + +#: ../../content/applications/productivity/sign/azerbaijan.rst:5 +msgid "Odoo Sign legality in Azerbaijan" +msgstr "" + +#: ../../content/applications/productivity/sign/azerbaijan.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Azerbaijan." +msgstr "" + +#: ../../content/applications/productivity/sign/azerbaijan.rst:11 +msgid "Legal framework for electronic signatures in Azerbaijan" +msgstr "" + +#: ../../content/applications/productivity/sign/azerbaijan.rst:13 +msgid "In Azerbaijan, electronic signatures are regulated under the `Law on Electronic Digital Signature `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +msgstr "" + +#: ../../content/applications/productivity/sign/azerbaijan.rst:22 +msgid "**Digital signature certificate**: digital signature generated using a digital certificate supplied by a qualified provider." +msgstr "" + +#: ../../content/applications/productivity/sign/azerbaijan.rst:26 +msgid "How Odoo Sign complies with Azerbaijani regulations" +msgstr "" + +#: ../../content/applications/productivity/sign/azerbaijan.rst:28 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Azerbaijan by incorporating the following features:" +msgstr "" + +#: ../../content/applications/productivity/sign/azerbaijan.rst:56 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Azerbaijan:" +msgstr "" + +#: ../../content/applications/productivity/sign/azerbaijan.rst:67 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Azerbaijan, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +msgstr "" + +#: ../../content/applications/productivity/sign/bangladesh.rst:5 +msgid "Odoo Sign legality in Bangladesh" +msgstr "" + +#: ../../content/applications/productivity/sign/bangladesh.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Bangladesh." +msgstr "" + +#: ../../content/applications/productivity/sign/bangladesh.rst:11 +msgid "Legal framework for electronic signatures in Bangladesh" +msgstr "" + +#: ../../content/applications/productivity/sign/bangladesh.rst:13 +msgid "In Bangladesh, electronic signatures are regulated under the `Information and Communication Technology Act `_. The law recognizes the use of electronic documents and electronic signatures for the execution of contracts and other transactions. The key points of the law include:" +msgstr "" + +#: ../../content/applications/productivity/sign/bangladesh.rst:22 +msgid "**Special cases**: some cases require a traditional signature. These requirements can vary on a case-by-case basis, particularly when dealing with public sector entities." +msgstr "" + +#: ../../content/applications/productivity/sign/bangladesh.rst:26 +msgid "How Odoo Sign complies with Bangladeshi regulations" +msgstr "" + +#: ../../content/applications/productivity/sign/bangladesh.rst:28 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Bangladesh by incorporating the following features:" +msgstr "" + +#: ../../content/applications/productivity/sign/bangladesh.rst:56 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Bangladesh:" +msgstr "" + +#: ../../content/applications/productivity/sign/bangladesh.rst:67 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Bangladesh, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +msgstr "" + +#: ../../content/applications/productivity/sign/brazil.rst:5 +msgid "Odoo Sign legality in Brazil" +msgstr "" + +#: ../../content/applications/productivity/sign/brazil.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Brazil." +msgstr "" + +#: ../../content/applications/productivity/sign/brazil.rst:11 +msgid "Legal framework for electronic signatures in Brazil" +msgstr "" + +#: ../../content/applications/productivity/sign/brazil.rst:13 +msgid "In Brazil, electronic signatures are regulated under the `Brazilian Civil Code `_ and the Provisional Executive Act 2.200-2 (EA 2200) regulations. The law governs transactions performed through electronic means and the use of electronic signatures. The key points of the law include:" +msgstr "" + +#: ../../content/applications/productivity/sign/brazil.rst:22 +msgid "**Infraestrutura de Chaves Públicas Brasileira (ICP-Brazil)**: Brazil maintains its own public key infrastructure (PKI) for digital certificates called “Infraestrutura de Chaves Públicas Brasileira”. These are digital signature certificates or “seals” that serve as proof of identity of an individual for a certain purpose that can be used in special cases to provide additional security. These certificates are issued by Certification Authorities and are required by law for the signature of specific acts." +msgstr "" + +#: ../../content/applications/productivity/sign/brazil.rst:30 +msgid "How Odoo Sign complies with Brazilian regulations" +msgstr "" + +#: ../../content/applications/productivity/sign/brazil.rst:32 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Brazil by incorporating the following features:" +msgstr "" + +#: ../../content/applications/productivity/sign/brazil.rst:60 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Brazil:" +msgstr "" + +#: ../../content/applications/productivity/sign/brazil.rst:71 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Brazil, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +msgstr "" + +#: ../../content/applications/productivity/sign/canada.rst:5 +msgid "Odoo Sign legality in Canada" +msgstr "" + +#: ../../content/applications/productivity/sign/canada.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Canada." +msgstr "" + +#: ../../content/applications/productivity/sign/canada.rst:11 +msgid "Legal framework for electronic signatures in Canada" +msgstr "" + +#: ../../content/applications/productivity/sign/canada.rst:13 +msgid "In Canada, electronic signatures are regulated under the `Personal Information Protection and Electronic Documents Act (PIPEDA) `_ and local regulations. The law establishes electronic equivalents to paper-based documents and signatures at the federal level. The key points of the law include:" +msgstr "" + +#: ../../content/applications/productivity/sign/canada.rst:22 +msgid "**Secure electronic signature**: the law recognizes digital signature certificates or “seals” that serve as proof of identity of an individual for a certain purpose that can be used in special cases to provide additional security. These certificates are issued by Certification Authorities and are required by law for the signature of specific acts." +msgstr "" + +#: ../../content/applications/productivity/sign/canada.rst:28 +msgid "How Odoo Sign complies with Canadian regulations" +msgstr "" + +#: ../../content/applications/productivity/sign/canada.rst:30 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Canada by incorporating the following features:" +msgstr "" + +#: ../../content/applications/productivity/sign/canada.rst:58 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Canada:" +msgstr "" + +#: ../../content/applications/productivity/sign/canada.rst:69 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Canada, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +msgstr "" + +#: ../../content/applications/productivity/sign/chile.rst:5 +msgid "Odoo Sign legality in Chile" +msgstr "" + +#: ../../content/applications/productivity/sign/chile.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Chile." +msgstr "" + +#: ../../content/applications/productivity/sign/chile.rst:11 +msgid "Legal framework for electronic signatures in Chile" +msgstr "" + +#: ../../content/applications/productivity/sign/chile.rst:13 +msgid "In Chile, electronic signatures are regulated under the `Law 19.799 on electronic documents, electronic signature and certification services of such signature `_, `Decree 181/2002 `_ and `Law No. 21,180, on Digital Transformation of the State `_. The law establishes the legal basis for acknowledging electronic records, contracts, and signatures. The key points of the law include:" +msgstr "" + +#: ../../content/applications/productivity/sign/chile.rst:25 +#: ../../content/applications/productivity/sign/hong_kong.rst:21 +msgid "**Certified electronic signatures**: special electronic signature that incorporates certificates issued by a recognized certification authority." +msgstr "" + +#: ../../content/applications/productivity/sign/chile.rst:29 +msgid "How Odoo Sign complies with Chilean regulations" +msgstr "" + +#: ../../content/applications/productivity/sign/chile.rst:31 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Chile by incorporating the following features:" +msgstr "" + +#: ../../content/applications/productivity/sign/chile.rst:59 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Chile:" +msgstr "" + +#: ../../content/applications/productivity/sign/chile.rst:70 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Chile, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +msgstr "" + +#: ../../content/applications/productivity/sign/china.rst:5 +msgid "Odoo Sign legality in China" +msgstr "" + +#: ../../content/applications/productivity/sign/china.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in China." +msgstr "" + +#: ../../content/applications/productivity/sign/china.rst:11 +msgid "Legal framework for electronic signatures in China" +msgstr "" + +#: ../../content/applications/productivity/sign/china.rst:13 +msgid "In China, electronic signatures are regulated under the Electronic Signature Law (ESL) of the People's Republic of China, enacted in 2005 and amended in 2015. The law provides the foundation for the use and legal recognition of electronic signatures. The key points of the ESL include:" +msgstr "" + +#: ../../content/applications/productivity/sign/china.rst:21 +msgid "**Certification Authorities (CAs)**: the law recognizes electronic signatures supported by digital certificates issued by accredited Certification Authorities (CAs)." +msgstr "" + +#: ../../content/applications/productivity/sign/china.rst:25 +msgid "How Odoo Sign complies with Chinese regulations" +msgstr "" + +#: ../../content/applications/productivity/sign/china.rst:27 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of China by incorporating the following features:" +msgstr "" + +#: ../../content/applications/productivity/sign/china.rst:55 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in China:" +msgstr "" + +#: ../../content/applications/productivity/sign/china.rst:66 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of China, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +msgstr "" + +#: ../../content/applications/productivity/sign/colombia.rst:5 +msgid "Odoo Sign legality in Colombia" +msgstr "" + +#: ../../content/applications/productivity/sign/colombia.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Colombia." +msgstr "" + +#: ../../content/applications/productivity/sign/colombia.rst:11 +msgid "Legal framework for electronic signatures in Colombia" +msgstr "" + +#: ../../content/applications/productivity/sign/colombia.rst:13 +msgid "In Colombia, electronic signatures are regulated under the `Law 529 of 1999 `_. The law establishes the legal basis for acknowledging electronic records, contracts, and signatures. The key points of the law include:" +msgstr "" + +#: ../../content/applications/productivity/sign/colombia.rst:21 +msgid "**Certified electronic signatures**: special electronic signature that incorporates certificates issued by a recognized certification authority. In some cases, only the certified electronic signature has legal and juridical validity in Colombia. In those cases, simple electronic signatures like the Odoo Signature only work as a proof of the agreement to celebrate the corresponding transaction, which will be submitted to the authority's criteria." +msgstr "" + +#: ../../content/applications/productivity/sign/colombia.rst:28 +msgid "How Odoo Sign complies with Colombian regulations" +msgstr "" + +#: ../../content/applications/productivity/sign/colombia.rst:30 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Colombia by incorporating the following features:" +msgstr "" + +#: ../../content/applications/productivity/sign/colombia.rst:58 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Colombia:" +msgstr "" + +#: ../../content/applications/productivity/sign/colombia.rst:69 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Colombia, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +msgstr "" + +#: ../../content/applications/productivity/sign/dominican_republic.rst:5 +msgid "Odoo Sign legality in the Dominican Republic" +msgstr "" + +#: ../../content/applications/productivity/sign/dominican_republic.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in the Dominican Republic." +msgstr "" + +#: ../../content/applications/productivity/sign/dominican_republic.rst:11 +msgid "Legal framework for electronic signatures in the Dominican Republic" +msgstr "" + +#: ../../content/applications/productivity/sign/dominican_republic.rst:13 +msgid "In the Dominican Republic, electronic signatures are regulated under the `Law 126-02 on Electronic Commerce, Documents and Digital Signatures `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +msgstr "" + +#: ../../content/applications/productivity/sign/dominican_republic.rst:22 +#: ../../content/applications/productivity/sign/kenya.rst:21 +#: ../../content/applications/productivity/sign/morocco.rst:22 +#: ../../content/applications/productivity/sign/oman.rst:21 +msgid "**Certified electronic signature**: digital signature generated using a digital certificate supplied by a qualified provider." +msgstr "" + +#: ../../content/applications/productivity/sign/dominican_republic.rst:26 +msgid "How Odoo Sign complies with Dominican regulations" +msgstr "" + +#: ../../content/applications/productivity/sign/dominican_republic.rst:28 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of the Dominican Republic by incorporating the following features:" +msgstr "" + +#: ../../content/applications/productivity/sign/dominican_republic.rst:56 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in the Dominican Republic:" +msgstr "" + +#: ../../content/applications/productivity/sign/dominican_republic.rst:67 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of the Dominican Republic, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +msgstr "" + +#: ../../content/applications/productivity/sign/ecuador.rst:5 +msgid "Odoo Sign legality in Ecuador" +msgstr "" + +#: ../../content/applications/productivity/sign/ecuador.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Ecuador." +msgstr "" + +#: ../../content/applications/productivity/sign/ecuador.rst:11 +msgid "Legal framework for electronic signatures in Ecuador" +msgstr "" + +#: ../../content/applications/productivity/sign/ecuador.rst:13 +msgid "In Ecuador, electronic signatures are regulated under the `Law on Electronic Commerce, Electronic Signatures and Data Messages `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +msgstr "" + +#: ../../content/applications/productivity/sign/ecuador.rst:26 +msgid "How Odoo Sign complies with Ecuadoran regulations" +msgstr "" + +#: ../../content/applications/productivity/sign/ecuador.rst:28 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Ecuador by incorporating the following features:" +msgstr "" + +#: ../../content/applications/productivity/sign/ecuador.rst:56 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Ecuador:" +msgstr "" + +#: ../../content/applications/productivity/sign/ecuador.rst:67 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Ecuador, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +msgstr "" + +#: ../../content/applications/productivity/sign/egypt.rst:5 +msgid "Odoo Sign legality in Egypt" +msgstr "" + +#: ../../content/applications/productivity/sign/egypt.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Egypt." +msgstr "" + +#: ../../content/applications/productivity/sign/egypt.rst:11 +msgid "Legal framework for electronic signatures in Egypt" +msgstr "" + +#: ../../content/applications/productivity/sign/egypt.rst:13 +msgid "In Egypt, electronic signatures are regulated under the `E-Signature Law `_. The law governs transactions performed through electronic means and the use of digital signatures. The key points of the law include:" +msgstr "" + +#: ../../content/applications/productivity/sign/egypt.rst:21 +msgid "**Qualified electronic signatures**: law recognizes special digital signatures certified by a qualified authority. In some cases, this type of signature is mandatory." +msgstr "" + +#: ../../content/applications/productivity/sign/egypt.rst:25 +msgid "How Odoo Sign complies with Egyptian regulations" +msgstr "" + +#: ../../content/applications/productivity/sign/egypt.rst:27 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Egypt by incorporating the following features:" +msgstr "" + +#: ../../content/applications/productivity/sign/egypt.rst:55 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Egypt:" msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:48 -#: ../../content/applications/productivity/sign/angola.rst:50 -#: ../../content/applications/productivity/sign/argentina.rst:49 -#: ../../content/applications/productivity/sign/australia.rst:47 -#: ../../content/applications/productivity/sign/azerbaijan.rst:48 -#: ../../content/applications/productivity/sign/bangladesh.rst:48 -#: ../../content/applications/productivity/sign/brazil.rst:52 -#: ../../content/applications/productivity/sign/canada.rst:50 -#: ../../content/applications/productivity/sign/chile.rst:51 -#: ../../content/applications/productivity/sign/china.rst:47 -#: ../../content/applications/productivity/sign/colombia.rst:50 -#: ../../content/applications/productivity/sign/dominican_republic.rst:48 -#: ../../content/applications/productivity/sign/ecuador.rst:48 -#: ../../content/applications/productivity/sign/egypt.rst:47 -#: ../../content/applications/productivity/sign/ethiopia.rst:47 -#: ../../content/applications/productivity/sign/germany.rst:49 -#: ../../content/applications/productivity/sign/guatemala.rst:47 -#: ../../content/applications/productivity/sign/hong_kong.rst:47 -#: ../../content/applications/productivity/sign/india.rst:51 -#: ../../content/applications/productivity/sign/indonesia.rst:53 -#: ../../content/applications/productivity/sign/iran.rst:46 -#: ../../content/applications/productivity/sign/iraq.rst:51 -#: ../../content/applications/productivity/sign/israel.rst:47 -#: ../../content/applications/productivity/sign/japan.rst:48 -#: ../../content/applications/productivity/sign/kazakhstan.rst:49 -#: ../../content/applications/productivity/sign/kenya.rst:47 -#: ../../content/applications/productivity/sign/kuwait.rst:46 -#: ../../content/applications/productivity/sign/malaysia.rst:49 -#: ../../content/applications/productivity/sign/mexico.rst:50 -#: ../../content/applications/productivity/sign/morocco.rst:48 -#: ../../content/applications/productivity/sign/new_zealand.rst:48 -#: ../../content/applications/productivity/sign/nigeria.rst:46 -#: ../../content/applications/productivity/sign/norway.rst:49 -#: ../../content/applications/productivity/sign/oman.rst:47 -#: ../../content/applications/productivity/sign/pakistan.rst:48 -#: ../../content/applications/productivity/sign/peru.rst:50 -#: ../../content/applications/productivity/sign/philippines.rst:50 -#: ../../content/applications/productivity/sign/qatar.rst:48 -#: ../../content/applications/productivity/sign/russia.rst:52 -#: ../../content/applications/productivity/sign/saudi_arabia.rst:47 -#: ../../content/applications/productivity/sign/singapore.rst:45 -#: ../../content/applications/productivity/sign/south_africa.rst:48 -#: ../../content/applications/productivity/sign/south_korea.rst:50 -#: ../../content/applications/productivity/sign/switzerland.rst:48 -#: ../../content/applications/productivity/sign/thailand.rst:45 -#: ../../content/applications/productivity/sign/turkey.rst:49 -#: ../../content/applications/productivity/sign/ukraine.rst:47 -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:50 -#: ../../content/applications/productivity/sign/united_kingdom.rst:54 -#: ../../content/applications/productivity/sign/uzbekistan.rst:48 -#: ../../content/applications/productivity/sign/vietnam.rst:50 -msgid "**Financial documents**: loan agreements, investment documents, and financial reports." +#: ../../content/applications/productivity/sign/egypt.rst:66 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Egypt, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +msgstr "" + +#: ../../content/applications/productivity/sign/ethiopia.rst:5 +msgid "Odoo Sign legality in Ethiopia" +msgstr "" + +#: ../../content/applications/productivity/sign/ethiopia.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Ethiopia." +msgstr "" + +#: ../../content/applications/productivity/sign/ethiopia.rst:11 +msgid "Legal framework for electronic signatures in Ethiopia" +msgstr "" + +#: ../../content/applications/productivity/sign/ethiopia.rst:13 +msgid "In Ethiopia, electronic signatures are regulated under the `Electronic Signature Proclamation No. 1072/2018 `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +msgstr "" + +#: ../../content/applications/productivity/sign/ethiopia.rst:21 +msgid "**Certificate electronic signature**: digital signature generated using a digital certificate supplied by a qualified provider." +msgstr "" + +#: ../../content/applications/productivity/sign/ethiopia.rst:25 +msgid "How Odoo Sign complies with Ethiopian regulations" +msgstr "" + +#: ../../content/applications/productivity/sign/ethiopia.rst:27 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Ethiopia by incorporating the following features:" +msgstr "" + +#: ../../content/applications/productivity/sign/ethiopia.rst:55 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Ethiopia:" +msgstr "" + +#: ../../content/applications/productivity/sign/ethiopia.rst:66 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Ethiopia, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +msgstr "" + +#: ../../content/applications/productivity/sign/germany.rst:5 +msgid "Odoo Sign legality in Germany" +msgstr "" + +#: ../../content/applications/productivity/sign/germany.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Germany." +msgstr "" + +#: ../../content/applications/productivity/sign/germany.rst:11 +msgid "Legal framework for electronic signatures in Germany" +msgstr "" + +#: ../../content/applications/productivity/sign/germany.rst:13 +msgid "In Germany, electronic signatures are regulated under `eIDAS Regulation No. 910/2014 `_ and the `Trust Services Act `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +msgstr "" + +#: ../../content/applications/productivity/sign/germany.rst:23 +msgid "**Qualified signature**: there are certain use cases that require a qualified signature issued by a trust service provider." +msgstr "" + +#: ../../content/applications/productivity/sign/germany.rst:27 +msgid "How Odoo Sign complies with German regulations" +msgstr "" + +#: ../../content/applications/productivity/sign/germany.rst:29 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Germany by incorporating the following features:" +msgstr "" + +#: ../../content/applications/productivity/sign/germany.rst:57 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Germany:" +msgstr "" + +#: ../../content/applications/productivity/sign/germany.rst:68 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Germany, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +msgstr "" + +#: ../../content/applications/productivity/sign/guatemala.rst:5 +msgid "Odoo Sign legality in Guatemala" +msgstr "" + +#: ../../content/applications/productivity/sign/guatemala.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Guatemala." +msgstr "" + +#: ../../content/applications/productivity/sign/guatemala.rst:11 +msgid "Legal framework for electronic signatures in Guatemala" +msgstr "" + +#: ../../content/applications/productivity/sign/guatemala.rst:13 +msgid "In Guatemala, electronic signatures are regulated under the `Electronic Communications and Signatures Law `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +msgstr "" + +#: ../../content/applications/productivity/sign/guatemala.rst:21 +msgid "**Certification service providers**: digital signature generated using a digital certificate supplied by a qualified provider." +msgstr "" + +#: ../../content/applications/productivity/sign/guatemala.rst:25 +msgid "How Odoo Sign complies with Guatemalan regulations" +msgstr "" + +#: ../../content/applications/productivity/sign/guatemala.rst:27 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Guatemala by incorporating the following features:" +msgstr "" + +#: ../../content/applications/productivity/sign/guatemala.rst:55 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Guatemala:" +msgstr "" + +#: ../../content/applications/productivity/sign/guatemala.rst:66 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Guatemala, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +msgstr "" + +#: ../../content/applications/productivity/sign/hong_kong.rst:5 +msgid "Odoo Sign legality in Hong Kong" +msgstr "" + +#: ../../content/applications/productivity/sign/hong_kong.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Hong Kong." +msgstr "" + +#: ../../content/applications/productivity/sign/hong_kong.rst:11 +msgid "Legal framework for electronic signatures in Hong Kong" +msgstr "" + +#: ../../content/applications/productivity/sign/hong_kong.rst:13 +msgid "In Hong Kong, electronic signatures are regulated under the `Electronic Transactions Ordinance `_. The law establishes the legal basis for acknowledging electronic records, contracts, and signatures. The key points of the law include:" +msgstr "" + +#: ../../content/applications/productivity/sign/hong_kong.rst:25 +msgid "How Odoo Sign complies with Hong Kong regulations" +msgstr "" + +#: ../../content/applications/productivity/sign/hong_kong.rst:27 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Hong Kong by incorporating the following features:" +msgstr "" + +#: ../../content/applications/productivity/sign/hong_kong.rst:55 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Hong Kong:" +msgstr "" + +#: ../../content/applications/productivity/sign/hong_kong.rst:66 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Hong Kong, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +msgstr "" + +#: ../../content/applications/productivity/sign/india.rst:5 +msgid "Odoo Sign legality in India" +msgstr "" + +#: ../../content/applications/productivity/sign/india.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in India." msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:49 -#: ../../content/applications/productivity/sign/angola.rst:51 -#: ../../content/applications/productivity/sign/argentina.rst:50 -#: ../../content/applications/productivity/sign/australia.rst:48 -#: ../../content/applications/productivity/sign/azerbaijan.rst:49 -#: ../../content/applications/productivity/sign/bangladesh.rst:49 -#: ../../content/applications/productivity/sign/brazil.rst:53 -#: ../../content/applications/productivity/sign/canada.rst:51 -#: ../../content/applications/productivity/sign/chile.rst:52 -#: ../../content/applications/productivity/sign/china.rst:48 -#: ../../content/applications/productivity/sign/colombia.rst:51 -#: ../../content/applications/productivity/sign/dominican_republic.rst:49 -#: ../../content/applications/productivity/sign/ecuador.rst:49 -#: ../../content/applications/productivity/sign/egypt.rst:48 -#: ../../content/applications/productivity/sign/ethiopia.rst:48 -#: ../../content/applications/productivity/sign/germany.rst:50 -#: ../../content/applications/productivity/sign/guatemala.rst:48 -#: ../../content/applications/productivity/sign/hong_kong.rst:48 -#: ../../content/applications/productivity/sign/india.rst:52 -#: ../../content/applications/productivity/sign/indonesia.rst:54 -#: ../../content/applications/productivity/sign/iran.rst:47 -#: ../../content/applications/productivity/sign/iraq.rst:52 -#: ../../content/applications/productivity/sign/israel.rst:48 -#: ../../content/applications/productivity/sign/japan.rst:49 -#: ../../content/applications/productivity/sign/kazakhstan.rst:50 -#: ../../content/applications/productivity/sign/kenya.rst:48 -#: ../../content/applications/productivity/sign/kuwait.rst:47 -#: ../../content/applications/productivity/sign/malaysia.rst:50 -#: ../../content/applications/productivity/sign/mexico.rst:51 -#: ../../content/applications/productivity/sign/morocco.rst:49 -#: ../../content/applications/productivity/sign/new_zealand.rst:49 -#: ../../content/applications/productivity/sign/nigeria.rst:47 -#: ../../content/applications/productivity/sign/norway.rst:50 -#: ../../content/applications/productivity/sign/oman.rst:48 -#: ../../content/applications/productivity/sign/pakistan.rst:49 -#: ../../content/applications/productivity/sign/peru.rst:51 -#: ../../content/applications/productivity/sign/philippines.rst:51 -#: ../../content/applications/productivity/sign/qatar.rst:49 -#: ../../content/applications/productivity/sign/russia.rst:53 -#: ../../content/applications/productivity/sign/saudi_arabia.rst:48 -#: ../../content/applications/productivity/sign/singapore.rst:46 -#: ../../content/applications/productivity/sign/south_africa.rst:49 -#: ../../content/applications/productivity/sign/south_korea.rst:51 -#: ../../content/applications/productivity/sign/switzerland.rst:49 -#: ../../content/applications/productivity/sign/thailand.rst:46 -#: ../../content/applications/productivity/sign/turkey.rst:50 -#: ../../content/applications/productivity/sign/ukraine.rst:48 -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:51 -#: ../../content/applications/productivity/sign/united_kingdom.rst:55 -#: ../../content/applications/productivity/sign/uzbekistan.rst:49 -#: ../../content/applications/productivity/sign/vietnam.rst:51 -msgid "**HR documents**: employee onboarding forms, non-disclosure agreements (NDAs), and performance reviews." +#: ../../content/applications/productivity/sign/india.rst:11 +msgid "Legal framework for electronic signatures in India" msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:51 -#: ../../content/applications/productivity/sign/angola.rst:53 -#: ../../content/applications/productivity/sign/argentina.rst:52 -#: ../../content/applications/productivity/sign/australia.rst:50 -#: ../../content/applications/productivity/sign/azerbaijan.rst:51 -#: ../../content/applications/productivity/sign/bangladesh.rst:51 -#: ../../content/applications/productivity/sign/brazil.rst:55 -#: ../../content/applications/productivity/sign/canada.rst:53 -#: ../../content/applications/productivity/sign/chile.rst:54 -#: ../../content/applications/productivity/sign/china.rst:50 -#: ../../content/applications/productivity/sign/colombia.rst:53 -#: ../../content/applications/productivity/sign/dominican_republic.rst:51 -#: ../../content/applications/productivity/sign/ecuador.rst:51 -#: ../../content/applications/productivity/sign/egypt.rst:50 -#: ../../content/applications/productivity/sign/ethiopia.rst:50 -#: ../../content/applications/productivity/sign/germany.rst:52 -#: ../../content/applications/productivity/sign/guatemala.rst:50 -#: ../../content/applications/productivity/sign/hong_kong.rst:50 -#: ../../content/applications/productivity/sign/india.rst:54 -#: ../../content/applications/productivity/sign/indonesia.rst:56 -#: ../../content/applications/productivity/sign/iran.rst:49 -#: ../../content/applications/productivity/sign/iraq.rst:54 -#: ../../content/applications/productivity/sign/israel.rst:50 -#: ../../content/applications/productivity/sign/japan.rst:51 -#: ../../content/applications/productivity/sign/kazakhstan.rst:52 -#: ../../content/applications/productivity/sign/kenya.rst:50 -#: ../../content/applications/productivity/sign/kuwait.rst:49 -#: ../../content/applications/productivity/sign/malaysia.rst:52 -#: ../../content/applications/productivity/sign/mexico.rst:53 -#: ../../content/applications/productivity/sign/morocco.rst:51 -#: ../../content/applications/productivity/sign/new_zealand.rst:51 -#: ../../content/applications/productivity/sign/nigeria.rst:49 -#: ../../content/applications/productivity/sign/norway.rst:52 -#: ../../content/applications/productivity/sign/oman.rst:50 -#: ../../content/applications/productivity/sign/pakistan.rst:51 -#: ../../content/applications/productivity/sign/peru.rst:53 -#: ../../content/applications/productivity/sign/philippines.rst:53 -#: ../../content/applications/productivity/sign/qatar.rst:51 -#: ../../content/applications/productivity/sign/russia.rst:55 -#: ../../content/applications/productivity/sign/saudi_arabia.rst:50 -#: ../../content/applications/productivity/sign/singapore.rst:48 -#: ../../content/applications/productivity/sign/south_africa.rst:51 -#: ../../content/applications/productivity/sign/south_korea.rst:53 -#: ../../content/applications/productivity/sign/switzerland.rst:51 -#: ../../content/applications/productivity/sign/thailand.rst:48 -#: ../../content/applications/productivity/sign/turkey.rst:52 -#: ../../content/applications/productivity/sign/ukraine.rst:50 -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:53 -#: ../../content/applications/productivity/sign/united_kingdom.rst:57 -#: ../../content/applications/productivity/sign/uzbekistan.rst:51 -#: ../../content/applications/productivity/sign/vietnam.rst:53 -msgid "**Commercial transactions**: purchase orders, sales agreements, and supplier contracts." +#: ../../content/applications/productivity/sign/india.rst:13 +msgid "In India, electronic signatures are regulated under the `Information Technology Act (ITA) `_, the `Indian Contract Act (ICA) `_ and the Electronic Signature or Electronic Authentication Technique and Procedure Rules (ESEATPR). The law provides the foundation for the use and legal recognition of electronic signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:54 -#: ../../content/applications/productivity/sign/angola.rst:56 -#: ../../content/applications/productivity/sign/argentina.rst:55 -#: ../../content/applications/productivity/sign/australia.rst:53 -#: ../../content/applications/productivity/sign/azerbaijan.rst:54 -#: ../../content/applications/productivity/sign/bangladesh.rst:54 -#: ../../content/applications/productivity/sign/brazil.rst:58 -#: ../../content/applications/productivity/sign/canada.rst:56 -#: ../../content/applications/productivity/sign/chile.rst:57 -#: ../../content/applications/productivity/sign/china.rst:53 -#: ../../content/applications/productivity/sign/colombia.rst:56 -#: ../../content/applications/productivity/sign/dominican_republic.rst:54 -#: ../../content/applications/productivity/sign/ecuador.rst:54 -#: ../../content/applications/productivity/sign/egypt.rst:53 -#: ../../content/applications/productivity/sign/ethiopia.rst:53 -#: ../../content/applications/productivity/sign/germany.rst:55 -#: ../../content/applications/productivity/sign/guatemala.rst:53 -#: ../../content/applications/productivity/sign/hong_kong.rst:53 -#: ../../content/applications/productivity/sign/india.rst:57 -#: ../../content/applications/productivity/sign/indonesia.rst:59 -#: ../../content/applications/productivity/sign/iran.rst:52 -#: ../../content/applications/productivity/sign/iraq.rst:57 -#: ../../content/applications/productivity/sign/israel.rst:53 -#: ../../content/applications/productivity/sign/japan.rst:54 -#: ../../content/applications/productivity/sign/kazakhstan.rst:55 -#: ../../content/applications/productivity/sign/kenya.rst:53 -#: ../../content/applications/productivity/sign/kuwait.rst:52 -#: ../../content/applications/productivity/sign/malaysia.rst:55 -#: ../../content/applications/productivity/sign/mexico.rst:56 -#: ../../content/applications/productivity/sign/morocco.rst:54 -#: ../../content/applications/productivity/sign/new_zealand.rst:54 -#: ../../content/applications/productivity/sign/nigeria.rst:52 -#: ../../content/applications/productivity/sign/norway.rst:55 -#: ../../content/applications/productivity/sign/oman.rst:53 -#: ../../content/applications/productivity/sign/pakistan.rst:54 -#: ../../content/applications/productivity/sign/peru.rst:56 -#: ../../content/applications/productivity/sign/philippines.rst:56 -#: ../../content/applications/productivity/sign/qatar.rst:54 -#: ../../content/applications/productivity/sign/russia.rst:58 -#: ../../content/applications/productivity/sign/saudi_arabia.rst:53 -#: ../../content/applications/productivity/sign/singapore.rst:51 -#: ../../content/applications/productivity/sign/south_africa.rst:54 -#: ../../content/applications/productivity/sign/south_korea.rst:56 -#: ../../content/applications/productivity/sign/switzerland.rst:54 -#: ../../content/applications/productivity/sign/thailand.rst:51 -#: ../../content/applications/productivity/sign/turkey.rst:55 -#: ../../content/applications/productivity/sign/ukraine.rst:53 -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:56 -#: ../../content/applications/productivity/sign/united_kingdom.rst:60 -#: ../../content/applications/productivity/sign/uzbekistan.rst:54 -#: ../../content/applications/productivity/sign/vietnam.rst:56 -msgid "Potential exceptions" +#: ../../content/applications/productivity/sign/india.rst:24 +msgid "**Digital signature certificates**: the law recognizes digital signature certificates that serve as proof of identity of an individual for a certain purpose that can be used in special cases to provide additional security." msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:56 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Algeria:" +#: ../../content/applications/productivity/sign/india.rst:29 +msgid "How Odoo Sign complies with Indian regulations" msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:59 -#: ../../content/applications/productivity/sign/angola.rst:61 -#: ../../content/applications/productivity/sign/argentina.rst:60 -#: ../../content/applications/productivity/sign/australia.rst:58 -#: ../../content/applications/productivity/sign/azerbaijan.rst:59 -#: ../../content/applications/productivity/sign/bangladesh.rst:59 -#: ../../content/applications/productivity/sign/brazil.rst:63 -#: ../../content/applications/productivity/sign/canada.rst:61 -#: ../../content/applications/productivity/sign/chile.rst:62 -#: ../../content/applications/productivity/sign/china.rst:58 -#: ../../content/applications/productivity/sign/colombia.rst:61 -#: ../../content/applications/productivity/sign/dominican_republic.rst:59 -#: ../../content/applications/productivity/sign/ecuador.rst:59 -#: ../../content/applications/productivity/sign/egypt.rst:58 -#: ../../content/applications/productivity/sign/ethiopia.rst:58 -#: ../../content/applications/productivity/sign/germany.rst:60 -#: ../../content/applications/productivity/sign/guatemala.rst:58 -#: ../../content/applications/productivity/sign/hong_kong.rst:58 -#: ../../content/applications/productivity/sign/india.rst:62 -#: ../../content/applications/productivity/sign/indonesia.rst:64 -#: ../../content/applications/productivity/sign/iran.rst:57 -#: ../../content/applications/productivity/sign/iraq.rst:62 -#: ../../content/applications/productivity/sign/israel.rst:58 -#: ../../content/applications/productivity/sign/japan.rst:59 -#: ../../content/applications/productivity/sign/kazakhstan.rst:60 -#: ../../content/applications/productivity/sign/kenya.rst:58 -#: ../../content/applications/productivity/sign/kuwait.rst:57 -#: ../../content/applications/productivity/sign/malaysia.rst:60 -#: ../../content/applications/productivity/sign/mexico.rst:61 -#: ../../content/applications/productivity/sign/morocco.rst:59 -#: ../../content/applications/productivity/sign/new_zealand.rst:59 -#: ../../content/applications/productivity/sign/nigeria.rst:57 -#: ../../content/applications/productivity/sign/norway.rst:60 -#: ../../content/applications/productivity/sign/oman.rst:58 -#: ../../content/applications/productivity/sign/pakistan.rst:59 -#: ../../content/applications/productivity/sign/peru.rst:61 -#: ../../content/applications/productivity/sign/philippines.rst:61 -#: ../../content/applications/productivity/sign/qatar.rst:59 -#: ../../content/applications/productivity/sign/russia.rst:63 -#: ../../content/applications/productivity/sign/saudi_arabia.rst:58 -#: ../../content/applications/productivity/sign/singapore.rst:56 -#: ../../content/applications/productivity/sign/south_africa.rst:59 -#: ../../content/applications/productivity/sign/south_korea.rst:61 -#: ../../content/applications/productivity/sign/switzerland.rst:59 -#: ../../content/applications/productivity/sign/thailand.rst:56 -#: ../../content/applications/productivity/sign/turkey.rst:60 -#: ../../content/applications/productivity/sign/ukraine.rst:58 -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:61 -#: ../../content/applications/productivity/sign/united_kingdom.rst:65 -#: ../../content/applications/productivity/sign/uzbekistan.rst:59 -#: ../../content/applications/productivity/sign/vietnam.rst:61 -msgid "**Wills and trusts**: documents related to inheritance, wills, and trusts often require handwritten signatures." +#: ../../content/applications/productivity/sign/india.rst:31 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of India by incorporating the following features:" +msgstr "" + +#: ../../content/applications/productivity/sign/india.rst:59 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in India:" +msgstr "" + +#: ../../content/applications/productivity/sign/india.rst:70 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of India, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +msgstr "" + +#: ../../content/applications/productivity/sign/indonesia.rst:5 +msgid "Odoo Sign legality in Indonesia" +msgstr "" + +#: ../../content/applications/productivity/sign/indonesia.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Indonesia." +msgstr "" + +#: ../../content/applications/productivity/sign/indonesia.rst:11 +msgid "Legal framework for electronic signatures in Indonesia" +msgstr "" + +#: ../../content/applications/productivity/sign/indonesia.rst:13 +msgid "In Indonesia, electronic signatures are regulated under the `Law of the Republic of Indonesia No. 11 of 2008 on Electronic Information and Transactions `_, Government Regulation No. 71 of 2019 on Organization of Electronic system and Transactions, as well as the Minister of Communications and Informatics (MoCI) Regulation No. 11 of 2018 on Administration of Electronic Certification (\"MoCI Regulation 11 of 2018\"). The law governs transactions performed through electronic means and the use of electronic signatures. The key points of the law include:" +msgstr "" + +#: ../../content/applications/productivity/sign/indonesia.rst:25 +msgid "**Certified e-signatures**: the law recognizes digital signature certificates that serve as proof of identity of an individual for a certain purpose that can be used in special cases to provide additional security. These certificates are issued by Certification Authorities and are required by law for the signature of specific acts." +msgstr "" + +#: ../../content/applications/productivity/sign/indonesia.rst:31 +msgid "How Odoo Sign complies with Indonesian regulations" +msgstr "" + +#: ../../content/applications/productivity/sign/indonesia.rst:33 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Indonesia by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:61 -#: ../../content/applications/productivity/sign/angola.rst:63 -#: ../../content/applications/productivity/sign/argentina.rst:62 -#: ../../content/applications/productivity/sign/australia.rst:60 -#: ../../content/applications/productivity/sign/azerbaijan.rst:61 -#: ../../content/applications/productivity/sign/bangladesh.rst:61 -#: ../../content/applications/productivity/sign/brazil.rst:65 -#: ../../content/applications/productivity/sign/canada.rst:63 -#: ../../content/applications/productivity/sign/chile.rst:64 -#: ../../content/applications/productivity/sign/china.rst:60 -#: ../../content/applications/productivity/sign/colombia.rst:63 -#: ../../content/applications/productivity/sign/dominican_republic.rst:61 -#: ../../content/applications/productivity/sign/ecuador.rst:61 -#: ../../content/applications/productivity/sign/egypt.rst:60 -#: ../../content/applications/productivity/sign/ethiopia.rst:60 -#: ../../content/applications/productivity/sign/germany.rst:62 -#: ../../content/applications/productivity/sign/guatemala.rst:60 -#: ../../content/applications/productivity/sign/hong_kong.rst:60 -#: ../../content/applications/productivity/sign/india.rst:64 -#: ../../content/applications/productivity/sign/indonesia.rst:66 -#: ../../content/applications/productivity/sign/iran.rst:59 -#: ../../content/applications/productivity/sign/iraq.rst:64 -#: ../../content/applications/productivity/sign/israel.rst:60 -#: ../../content/applications/productivity/sign/japan.rst:61 -#: ../../content/applications/productivity/sign/kazakhstan.rst:62 -#: ../../content/applications/productivity/sign/kenya.rst:60 -#: ../../content/applications/productivity/sign/kuwait.rst:59 -#: ../../content/applications/productivity/sign/malaysia.rst:62 -#: ../../content/applications/productivity/sign/mexico.rst:63 -#: ../../content/applications/productivity/sign/morocco.rst:61 -#: ../../content/applications/productivity/sign/new_zealand.rst:61 -#: ../../content/applications/productivity/sign/nigeria.rst:59 -#: ../../content/applications/productivity/sign/norway.rst:62 -#: ../../content/applications/productivity/sign/oman.rst:60 -#: ../../content/applications/productivity/sign/pakistan.rst:61 -#: ../../content/applications/productivity/sign/peru.rst:63 -#: ../../content/applications/productivity/sign/philippines.rst:63 -#: ../../content/applications/productivity/sign/qatar.rst:61 -#: ../../content/applications/productivity/sign/russia.rst:65 -#: ../../content/applications/productivity/sign/saudi_arabia.rst:60 -#: ../../content/applications/productivity/sign/singapore.rst:58 -#: ../../content/applications/productivity/sign/south_africa.rst:61 -#: ../../content/applications/productivity/sign/south_korea.rst:63 -#: ../../content/applications/productivity/sign/switzerland.rst:61 -#: ../../content/applications/productivity/sign/thailand.rst:58 -#: ../../content/applications/productivity/sign/turkey.rst:62 -#: ../../content/applications/productivity/sign/ukraine.rst:60 -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:63 -#: ../../content/applications/productivity/sign/united_kingdom.rst:67 -#: ../../content/applications/productivity/sign/uzbekistan.rst:61 -#: ../../content/applications/productivity/sign/vietnam.rst:63 -msgid "**Real estate transactions**: some property transactions may still require notarized handwritten signatures." +#: ../../content/applications/productivity/sign/indonesia.rst:61 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Indonesia:" msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:63 -#: ../../content/applications/productivity/sign/angola.rst:65 -#: ../../content/applications/productivity/sign/argentina.rst:64 -#: ../../content/applications/productivity/sign/australia.rst:62 -#: ../../content/applications/productivity/sign/azerbaijan.rst:63 -#: ../../content/applications/productivity/sign/bangladesh.rst:63 -#: ../../content/applications/productivity/sign/brazil.rst:67 -#: ../../content/applications/productivity/sign/canada.rst:65 -#: ../../content/applications/productivity/sign/chile.rst:66 -#: ../../content/applications/productivity/sign/china.rst:62 -#: ../../content/applications/productivity/sign/colombia.rst:65 -#: ../../content/applications/productivity/sign/dominican_republic.rst:63 -#: ../../content/applications/productivity/sign/ecuador.rst:63 -#: ../../content/applications/productivity/sign/egypt.rst:62 -#: ../../content/applications/productivity/sign/ethiopia.rst:62 -#: ../../content/applications/productivity/sign/germany.rst:64 -#: ../../content/applications/productivity/sign/guatemala.rst:62 -#: ../../content/applications/productivity/sign/hong_kong.rst:62 -#: ../../content/applications/productivity/sign/india.rst:66 -#: ../../content/applications/productivity/sign/indonesia.rst:68 -#: ../../content/applications/productivity/sign/iran.rst:61 -#: ../../content/applications/productivity/sign/iraq.rst:66 -#: ../../content/applications/productivity/sign/israel.rst:62 -#: ../../content/applications/productivity/sign/japan.rst:63 -#: ../../content/applications/productivity/sign/kazakhstan.rst:64 -#: ../../content/applications/productivity/sign/kenya.rst:62 -#: ../../content/applications/productivity/sign/kuwait.rst:61 -#: ../../content/applications/productivity/sign/malaysia.rst:64 -#: ../../content/applications/productivity/sign/mexico.rst:65 -#: ../../content/applications/productivity/sign/morocco.rst:63 -#: ../../content/applications/productivity/sign/new_zealand.rst:63 -#: ../../content/applications/productivity/sign/nigeria.rst:61 -#: ../../content/applications/productivity/sign/norway.rst:64 -#: ../../content/applications/productivity/sign/oman.rst:62 -#: ../../content/applications/productivity/sign/pakistan.rst:63 -#: ../../content/applications/productivity/sign/peru.rst:65 -#: ../../content/applications/productivity/sign/philippines.rst:65 -#: ../../content/applications/productivity/sign/qatar.rst:63 -#: ../../content/applications/productivity/sign/russia.rst:67 -#: ../../content/applications/productivity/sign/saudi_arabia.rst:62 -#: ../../content/applications/productivity/sign/singapore.rst:60 -#: ../../content/applications/productivity/sign/south_africa.rst:63 -#: ../../content/applications/productivity/sign/south_korea.rst:65 -#: ../../content/applications/productivity/sign/switzerland.rst:63 -#: ../../content/applications/productivity/sign/thailand.rst:60 -#: ../../content/applications/productivity/sign/turkey.rst:64 -#: ../../content/applications/productivity/sign/ukraine.rst:62 -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:65 -#: ../../content/applications/productivity/sign/united_kingdom.rst:69 -#: ../../content/applications/productivity/sign/uzbekistan.rst:63 -#: ../../content/applications/productivity/sign/vietnam.rst:65 -msgid "**Government forms**: specific government forms and applications may mandate physical signatures." +#: ../../content/applications/productivity/sign/indonesia.rst:72 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Indonesia, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:65 -#: ../../content/applications/productivity/sign/angola.rst:67 -#: ../../content/applications/productivity/sign/argentina.rst:66 -#: ../../content/applications/productivity/sign/australia.rst:64 -#: ../../content/applications/productivity/sign/azerbaijan.rst:65 -#: ../../content/applications/productivity/sign/bangladesh.rst:65 -#: ../../content/applications/productivity/sign/brazil.rst:69 -#: ../../content/applications/productivity/sign/canada.rst:67 -#: ../../content/applications/productivity/sign/chile.rst:68 -#: ../../content/applications/productivity/sign/china.rst:64 -#: ../../content/applications/productivity/sign/colombia.rst:67 -#: ../../content/applications/productivity/sign/dominican_republic.rst:65 -#: ../../content/applications/productivity/sign/ecuador.rst:65 -#: ../../content/applications/productivity/sign/egypt.rst:64 -#: ../../content/applications/productivity/sign/ethiopia.rst:64 -#: ../../content/applications/productivity/sign/germany.rst:66 -#: ../../content/applications/productivity/sign/guatemala.rst:64 -#: ../../content/applications/productivity/sign/hong_kong.rst:64 -#: ../../content/applications/productivity/sign/india.rst:68 -#: ../../content/applications/productivity/sign/indonesia.rst:70 -#: ../../content/applications/productivity/sign/iran.rst:63 -#: ../../content/applications/productivity/sign/iraq.rst:68 -#: ../../content/applications/productivity/sign/israel.rst:64 -#: ../../content/applications/productivity/sign/japan.rst:65 -#: ../../content/applications/productivity/sign/kazakhstan.rst:66 -#: ../../content/applications/productivity/sign/kenya.rst:64 -#: ../../content/applications/productivity/sign/kuwait.rst:63 -#: ../../content/applications/productivity/sign/malaysia.rst:66 -#: ../../content/applications/productivity/sign/mexico.rst:67 -#: ../../content/applications/productivity/sign/morocco.rst:65 -#: ../../content/applications/productivity/sign/new_zealand.rst:65 -#: ../../content/applications/productivity/sign/nigeria.rst:63 -#: ../../content/applications/productivity/sign/norway.rst:66 -#: ../../content/applications/productivity/sign/oman.rst:64 -#: ../../content/applications/productivity/sign/pakistan.rst:65 -#: ../../content/applications/productivity/sign/peru.rst:67 -#: ../../content/applications/productivity/sign/philippines.rst:67 -#: ../../content/applications/productivity/sign/qatar.rst:65 -#: ../../content/applications/productivity/sign/russia.rst:69 -#: ../../content/applications/productivity/sign/saudi_arabia.rst:64 -#: ../../content/applications/productivity/sign/singapore.rst:62 -#: ../../content/applications/productivity/sign/south_africa.rst:65 -#: ../../content/applications/productivity/sign/south_korea.rst:67 -#: ../../content/applications/productivity/sign/switzerland.rst:65 -#: ../../content/applications/productivity/sign/thailand.rst:62 -#: ../../content/applications/productivity/sign/turkey.rst:66 -#: ../../content/applications/productivity/sign/ukraine.rst:64 -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:67 -#: ../../content/applications/productivity/sign/united_kingdom.rst:71 -#: ../../content/applications/productivity/sign/uzbekistan.rst:65 -#: ../../content/applications/productivity/sign/vietnam.rst:67 -msgid "Disclaimer" +#: ../../content/applications/productivity/sign/iran.rst:5 +msgid "Odoo Sign legality in Iran" msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:67 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Algeria, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/iran.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Iran." msgstr "" -#: ../../content/applications/productivity/sign/algeria.rst:73 -#: ../../content/applications/productivity/sign/angola.rst:75 -#: ../../content/applications/productivity/sign/argentina.rst:74 -#: ../../content/applications/productivity/sign/azerbaijan.rst:73 -#: ../../content/applications/productivity/sign/bangladesh.rst:73 -#: ../../content/applications/productivity/sign/chile.rst:76 -#: ../../content/applications/productivity/sign/colombia.rst:75 -#: ../../content/applications/productivity/sign/dominican_republic.rst:73 -#: ../../content/applications/productivity/sign/ecuador.rst:73 -#: ../../content/applications/productivity/sign/ethiopia.rst:72 -#: ../../content/applications/productivity/sign/germany.rst:74 -#: ../../content/applications/productivity/sign/guatemala.rst:72 -#: ../../content/applications/productivity/sign/hong_kong.rst:72 -#: ../../content/applications/productivity/sign/iran.rst:71 -#: ../../content/applications/productivity/sign/iraq.rst:76 -#: ../../content/applications/productivity/sign/israel.rst:72 -#: ../../content/applications/productivity/sign/kazakhstan.rst:74 -#: ../../content/applications/productivity/sign/kenya.rst:72 -#: ../../content/applications/productivity/sign/kuwait.rst:71 -#: ../../content/applications/productivity/sign/malaysia.rst:74 -#: ../../content/applications/productivity/sign/morocco.rst:73 -#: ../../content/applications/productivity/sign/new_zealand.rst:73 -#: ../../content/applications/productivity/sign/nigeria.rst:71 -#: ../../content/applications/productivity/sign/norway.rst:74 -#: ../../content/applications/productivity/sign/oman.rst:72 -#: ../../content/applications/productivity/sign/pakistan.rst:73 -#: ../../content/applications/productivity/sign/peru.rst:75 -#: ../../content/applications/productivity/sign/philippines.rst:75 -#: ../../content/applications/productivity/sign/qatar.rst:73 -#: ../../content/applications/productivity/sign/saudi_arabia.rst:72 -#: ../../content/applications/productivity/sign/singapore.rst:70 -#: ../../content/applications/productivity/sign/south_africa.rst:73 -#: ../../content/applications/productivity/sign/switzerland.rst:73 -#: ../../content/applications/productivity/sign/thailand.rst:70 -#: ../../content/applications/productivity/sign/turkey.rst:74 -#: ../../content/applications/productivity/sign/ukraine.rst:72 -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:75 -#: ../../content/applications/productivity/sign/uzbekistan.rst:73 -#: ../../content/applications/productivity/sign/vietnam.rst:75 -msgid "*Last updated: June 21, 2024*" +#: ../../content/applications/productivity/sign/iran.rst:11 +msgid "Legal framework for electronic signatures in Iran" msgstr "" -#: ../../content/applications/productivity/sign/angola.rst:5 -msgid "Odoo Sign legality in Angola" +#: ../../content/applications/productivity/sign/iran.rst:13 +msgid "In Iran, electronic signatures are regulated under the `Iran Civil Code `_ and the `Electronic Commerce Act `_. The law governs the use of electronic records and signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/angola.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Angola." +#: ../../content/applications/productivity/sign/iran.rst:24 +msgid "How Odoo Sign complies with Iranian regulations" msgstr "" -#: ../../content/applications/productivity/sign/angola.rst:11 -msgid "Legal framework for electronic signatures in Angola" +#: ../../content/applications/productivity/sign/iran.rst:26 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Iran by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/angola.rst:13 -msgid "In Angola, electronic signatures are regulated under the Presidential Decree 312/2018 and Executive Order 74/2019. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/iran.rst:54 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Iran:" +msgstr "" + +#: ../../content/applications/productivity/sign/iran.rst:65 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Iran, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +msgstr "" + +#: ../../content/applications/productivity/sign/iraq.rst:5 +msgid "Odoo Sign legality in Iraq" +msgstr "" + +#: ../../content/applications/productivity/sign/iraq.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Iraq." +msgstr "" + +#: ../../content/applications/productivity/sign/iraq.rst:11 +msgid "Legal framework for electronic signatures in Iraq" +msgstr "" + +#: ../../content/applications/productivity/sign/iraq.rst:13 +msgid "In Iraq, electronic signatures are regulated under the `Electronic Signature and Electronic transactions Law No. 78 Of 2012 `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +msgstr "" + +#: ../../content/applications/productivity/sign/iraq.rst:22 +msgid "**Certified electronic signatures**: Special electronic signature that incorporates certificates issued by a recognized certification authority. In some cases, only the certified electronic signature has legal and juridical validity in Iraq. In those cases, simple electronic signatures like the Odoo Signature only work as a proof of the agreement of wills to celebrate the corresponding transaction, which will be submitted to the authority's criteria." +msgstr "" + +#: ../../content/applications/productivity/sign/iraq.rst:29 +msgid "How Odoo Sign complies with Iraqi regulations" +msgstr "" + +#: ../../content/applications/productivity/sign/iraq.rst:31 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Iraq by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/angola.rst:21 -msgid "**Certified electronic signature**: digital signature generated using a digital certificate supplied by a qualified provider. In some cases, only the certified electronic signature has legal and juridical validity in Angola. In those cases, simple electronic signatures like the Odoo Signature only work as a proof of the agreement to celebrate the corresponding transaction, which will be submitted to the authority's criteria." +#: ../../content/applications/productivity/sign/iraq.rst:59 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Iraq:" msgstr "" -#: ../../content/applications/productivity/sign/angola.rst:28 -msgid "How Odoo Sign complies with Angolan regulations" +#: ../../content/applications/productivity/sign/iraq.rst:70 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Iraq, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/angola.rst:30 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Angola by incorporating the following features:" +#: ../../content/applications/productivity/sign/israel.rst:5 +msgid "Odoo Sign legality in Israel" msgstr "" -#: ../../content/applications/productivity/sign/angola.rst:58 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Angola:" +#: ../../content/applications/productivity/sign/israel.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Israel." msgstr "" -#: ../../content/applications/productivity/sign/angola.rst:69 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Angola, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/israel.rst:11 +msgid "Legal framework for electronic signatures in Israel" msgstr "" -#: ../../content/applications/productivity/sign/argentina.rst:5 -msgid "Odoo Sign legality in Argentina" +#: ../../content/applications/productivity/sign/israel.rst:13 +msgid "In Israel, electronic signatures are regulated under the Electronic Signature Law, and various electronic signature regulations. The law governs transactions performed through electronic means and the use of electronic signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/argentina.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Argentina." +#: ../../content/applications/productivity/sign/israel.rst:21 +msgid "**Certified electronic signature**: the law recognizes electronic signatures supported by digital certificates issued by Certified Providers." msgstr "" -#: ../../content/applications/productivity/sign/argentina.rst:11 -msgid "Legal framework for electronic signatures in Argentina" +#: ../../content/applications/productivity/sign/israel.rst:25 +msgid "How Odoo Sign complies with Israeli regulations" msgstr "" -#: ../../content/applications/productivity/sign/argentina.rst:13 -msgid "In Argentina, electronic signatures are regulated under the `Digital Signature Law `_, and the `Civil and Commercial Code `_. The law governs transactions performed through electronic means and the use of electronic signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/israel.rst:27 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Israel by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/argentina.rst:23 -msgid "**Qualified digital signatures**: the law recognizes electronic signatures supported by digital certificates issued by accredited Certification Service Providers." +#: ../../content/applications/productivity/sign/israel.rst:55 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Israel:" msgstr "" -#: ../../content/applications/productivity/sign/argentina.rst:27 -msgid "How Odoo Sign complies with Argentinian regulations" +#: ../../content/applications/productivity/sign/israel.rst:66 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Israel, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/argentina.rst:29 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Argentina by incorporating the following features:" +#: ../../content/applications/productivity/sign/japan.rst:5 +msgid "Odoo Sign legality in Japan" msgstr "" -#: ../../content/applications/productivity/sign/argentina.rst:57 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Argentina:" +#: ../../content/applications/productivity/sign/japan.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Japan." msgstr "" -#: ../../content/applications/productivity/sign/argentina.rst:68 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Argentina, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/japan.rst:11 +msgid "Legal framework for electronic signatures in Japan" msgstr "" -#: ../../content/applications/productivity/sign/australia.rst:5 -msgid "Odoo Sign legality in Australia" +#: ../../content/applications/productivity/sign/japan.rst:13 +msgid "In Japan, electronic signatures are regulated under the `Act on Electronic Signatures and Certification Business (E-signature Act) `_ published in the official gazette on May 31, 2000. The law provides the foundation for the use and legal recognition of electronic signatures. The key points of the E-signature Act include:" msgstr "" -#: ../../content/applications/productivity/sign/australia.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Australia." +#: ../../content/applications/productivity/sign/japan.rst:22 +msgid "**Certification Businesses (CBs)**: the law recognizes electronic signatures supported by digital certificates issued by accredited CBs." msgstr "" -#: ../../content/applications/productivity/sign/australia.rst:11 -msgid "Legal framework for electronic signatures in Australia" +#: ../../content/applications/productivity/sign/japan.rst:26 +msgid "How Odoo Sign complies with Japanese regulations" msgstr "" -#: ../../content/applications/productivity/sign/australia.rst:13 -msgid "In Australia, electronic signatures are regulated under the `Electronic Transactions Act (ETA) `_, the `Electronic Transactions Regulations (ETR) `_ and local regulations in each state. The law governs transactions performed through electronic means and the use of electronic signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/japan.rst:28 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Japan by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/australia.rst:25 -msgid "How Odoo Sign complies with Australian regulations" +#: ../../content/applications/productivity/sign/japan.rst:56 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Japan:" msgstr "" -#: ../../content/applications/productivity/sign/australia.rst:27 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Australia by incorporating the following features:" +#: ../../content/applications/productivity/sign/japan.rst:67 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Japan, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/australia.rst:55 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Australia:" +#: ../../content/applications/productivity/sign/kazakhstan.rst:5 +msgid "Odoo Sign legality in Kazakhstan" msgstr "" -#: ../../content/applications/productivity/sign/australia.rst:66 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Australia, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/kazakhstan.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Kazakhstan." msgstr "" -#: ../../content/applications/productivity/sign/australia.rst:72 -#: ../../content/applications/productivity/sign/brazil.rst:77 -#: ../../content/applications/productivity/sign/canada.rst:75 -#: ../../content/applications/productivity/sign/china.rst:72 -#: ../../content/applications/productivity/sign/egypt.rst:72 -#: ../../content/applications/productivity/sign/india.rst:76 -#: ../../content/applications/productivity/sign/indonesia.rst:78 -#: ../../content/applications/productivity/sign/japan.rst:73 -#: ../../content/applications/productivity/sign/mexico.rst:75 -#: ../../content/applications/productivity/sign/russia.rst:77 -#: ../../content/applications/productivity/sign/south_korea.rst:75 -#: ../../content/applications/productivity/sign/united_kingdom.rst:79 -msgid "*Last updated: June 19, 2024*" +#: ../../content/applications/productivity/sign/kazakhstan.rst:11 +msgid "Legal framework for electronic signatures in Kazakhstan" msgstr "" -#: ../../content/applications/productivity/sign/azerbaijan.rst:5 -msgid "Odoo Sign legality in Azerbaijan" +#: ../../content/applications/productivity/sign/kazakhstan.rst:13 +msgid "In Kazakhstan, electronic signatures are regulated under the `Civil Code `_ and the `Law On Electronic Document and Electronic Digital Signature `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/azerbaijan.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Azerbaijan." +#: ../../content/applications/productivity/sign/kazakhstan.rst:27 +msgid "How Odoo Sign complies with Kazakhstani regulations" msgstr "" -#: ../../content/applications/productivity/sign/azerbaijan.rst:11 -msgid "Legal framework for electronic signatures in Azerbaijan" +#: ../../content/applications/productivity/sign/kazakhstan.rst:29 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Kazakhstan by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/azerbaijan.rst:13 -msgid "In Azerbaijan, electronic signatures are regulated under the `Law on Electronic Digital Signature `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/kazakhstan.rst:57 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Kazakhstan:" msgstr "" -#: ../../content/applications/productivity/sign/azerbaijan.rst:22 -msgid "**Digital signature certificate**: digital signature generated using a digital certificate supplied by a qualified provider." +#: ../../content/applications/productivity/sign/kazakhstan.rst:68 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Kazakhstan, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/azerbaijan.rst:26 -msgid "How Odoo Sign complies with Azerbaijani regulations" +#: ../../content/applications/productivity/sign/kenya.rst:5 +msgid "Odoo Sign legality in Kenya" msgstr "" -#: ../../content/applications/productivity/sign/azerbaijan.rst:28 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Azerbaijan by incorporating the following features:" +#: ../../content/applications/productivity/sign/kenya.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Kenya." msgstr "" -#: ../../content/applications/productivity/sign/azerbaijan.rst:56 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Azerbaijan:" +#: ../../content/applications/productivity/sign/kenya.rst:11 +msgid "Legal framework for electronic signatures in Kenya" msgstr "" -#: ../../content/applications/productivity/sign/azerbaijan.rst:67 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Azerbaijan, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/kenya.rst:13 +msgid "In Kenya, electronic signatures are regulated under the `Information and Communications Act `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/bangladesh.rst:5 -msgid "Odoo Sign legality in Bangladesh" +#: ../../content/applications/productivity/sign/kenya.rst:25 +msgid "How Odoo Sign complies with Kenyan regulations" msgstr "" -#: ../../content/applications/productivity/sign/bangladesh.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Bangladesh." +#: ../../content/applications/productivity/sign/kenya.rst:27 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Kenya by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/bangladesh.rst:11 -msgid "Legal framework for electronic signatures in Bangladesh" +#: ../../content/applications/productivity/sign/kenya.rst:55 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Kenya:" msgstr "" -#: ../../content/applications/productivity/sign/bangladesh.rst:13 -msgid "In Bangladesh, electronic signatures are regulated under the `Information and Communication Technology Act `_. The law recognizes the use of electronic documents and electronic signatures for the execution of contracts and other transactions. The key points of the law include:" +#: ../../content/applications/productivity/sign/kenya.rst:66 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Kenya, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/bangladesh.rst:22 -msgid "**Special cases**: some cases require a traditional signature. These requirements can vary on a case-by-case basis, particularly when dealing with public sector entities." +#: ../../content/applications/productivity/sign/kuwait.rst:5 +msgid "Odoo Sign legality in Kuwait" msgstr "" -#: ../../content/applications/productivity/sign/bangladesh.rst:26 -msgid "How Odoo Sign complies with Bangladeshi regulations" +#: ../../content/applications/productivity/sign/kuwait.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Kuwait." msgstr "" -#: ../../content/applications/productivity/sign/bangladesh.rst:28 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Bangladesh by incorporating the following features:" +#: ../../content/applications/productivity/sign/kuwait.rst:11 +msgid "Legal framework for electronic signatures in Kuwait" msgstr "" -#: ../../content/applications/productivity/sign/bangladesh.rst:56 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Bangladesh:" +#: ../../content/applications/productivity/sign/kuwait.rst:13 +msgid "In Kuwait, electronic signatures are regulated under the `Law No.20 of 2014 concerning Electronic Transactions and its Implementing Regulations `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/bangladesh.rst:67 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Bangladesh, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/kuwait.rst:24 +msgid "How Odoo Sign complies with Kuwaiti regulations" msgstr "" -#: ../../content/applications/productivity/sign/brazil.rst:5 -msgid "Odoo Sign legality in Brazil" +#: ../../content/applications/productivity/sign/kuwait.rst:26 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Kuwait by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/brazil.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Brazil." +#: ../../content/applications/productivity/sign/kuwait.rst:54 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Kuwait:" msgstr "" -#: ../../content/applications/productivity/sign/brazil.rst:11 -msgid "Legal framework for electronic signatures in Brazil" +#: ../../content/applications/productivity/sign/kuwait.rst:65 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Kuwait, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/brazil.rst:13 -msgid "In Brazil, electronic signatures are regulated under the `Brazilian Civil Code `_ and the Provisional Executive Act 2.200-2 (EA 2200) regulations. The law governs transactions performed through electronic means and the use of electronic signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/malaysia.rst:5 +msgid "Odoo Sign legality in Malaysia" msgstr "" -#: ../../content/applications/productivity/sign/brazil.rst:22 -msgid "**Infraestrutura de Chaves Públicas Brasileira (ICP-Brazil)**: Brazil maintains its own public key infrastructure (PKI) for digital certificates called “Infraestrutura de Chaves Públicas Brasileira”. These are digital signature certificates or “seals” that serve as proof of identity of an individual for a certain purpose that can be used in special cases to provide additional security. These certificates are issued by Certification Authorities and are required by law for the signature of specific acts." +#: ../../content/applications/productivity/sign/malaysia.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Malaysia." msgstr "" -#: ../../content/applications/productivity/sign/brazil.rst:30 -msgid "How Odoo Sign complies with Brazilian regulations" +#: ../../content/applications/productivity/sign/malaysia.rst:11 +msgid "Legal framework for electronic signatures in Malaysia" msgstr "" -#: ../../content/applications/productivity/sign/brazil.rst:32 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Brazil by incorporating the following features:" +#: ../../content/applications/productivity/sign/malaysia.rst:13 +msgid "In Malaysia, electronic signatures are regulated under the `Digital Signature Act 1997 `_ and the `Electronic Commerce Act 2006 `_. The law governs transactions performed through electronic means and the use of digital signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/brazil.rst:60 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Brazil:" +#: ../../content/applications/productivity/sign/malaysia.rst:22 +msgid "**Certified digital signatures**: the law governs the use of digital certificates to provide major security and integrity to digital signatures. In some cases, electronic signatures must be certified by an electronic signature certification authority." msgstr "" -#: ../../content/applications/productivity/sign/brazil.rst:71 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Brazil, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/malaysia.rst:27 +msgid "How Odoo Sign complies with Malaysian regulations" msgstr "" -#: ../../content/applications/productivity/sign/canada.rst:5 -msgid "Odoo Sign legality in Canada" +#: ../../content/applications/productivity/sign/malaysia.rst:29 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Malaysia by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/canada.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Canada." +#: ../../content/applications/productivity/sign/malaysia.rst:57 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Malaysia:" msgstr "" -#: ../../content/applications/productivity/sign/canada.rst:11 -msgid "Legal framework for electronic signatures in Canada" +#: ../../content/applications/productivity/sign/malaysia.rst:68 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Malaysia, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/canada.rst:13 -msgid "In Canada, electronic signatures are regulated under the `Personal Information Protection and Electronic Documents Act (PIPEDA) `_ and local regulations. The law establishes electronic equivalents to paper-based documents and signatures at the federal level. The key points of the law include:" +#: ../../content/applications/productivity/sign/mexico.rst:5 +msgid "Odoo Sign legality in Mexico" msgstr "" -#: ../../content/applications/productivity/sign/canada.rst:22 -msgid "**Secure electronic signature**: the law recognizes digital signature certificates or “seals” that serve as proof of identity of an individual for a certain purpose that can be used in special cases to provide additional security. These certificates are issued by Certification Authorities and are required by law for the signature of specific acts." +#: ../../content/applications/productivity/sign/mexico.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Mexico." msgstr "" -#: ../../content/applications/productivity/sign/canada.rst:28 -msgid "How Odoo Sign complies with Canadian regulations" +#: ../../content/applications/productivity/sign/mexico.rst:11 +msgid "Legal framework for electronic signatures in Mexico" msgstr "" -#: ../../content/applications/productivity/sign/canada.rst:30 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Canada by incorporating the following features:" +#: ../../content/applications/productivity/sign/mexico.rst:13 +msgid "In Mexico, electronic signatures are regulated under the `Mexican Civil Code `_ and the `Commercial Code `_, as well as the civil codes of each state. The law governs transactions performed through electronic means and the use of electronic signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/canada.rst:58 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Canada:" +#: ../../content/applications/productivity/sign/mexico.rst:23 +msgid "**NORMA Oficial Mexicana NOM-151-SCFI-2016 (NOM 151)**: establishes the requirements for the conservation of data messages and digitization of documents with full guarantees of integrity. It also establishes the certification and time stamping requirements for certain documents." msgstr "" -#: ../../content/applications/productivity/sign/canada.rst:69 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Canada, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/mexico.rst:28 +msgid "How Odoo Sign complies with Mexican regulations" msgstr "" -#: ../../content/applications/productivity/sign/chile.rst:5 -msgid "Odoo Sign legality in Chile" +#: ../../content/applications/productivity/sign/mexico.rst:30 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Mexico by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/chile.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Chile." +#: ../../content/applications/productivity/sign/mexico.rst:58 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Mexico:" msgstr "" -#: ../../content/applications/productivity/sign/chile.rst:11 -msgid "Legal framework for electronic signatures in Chile" +#: ../../content/applications/productivity/sign/mexico.rst:69 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Mexico, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/chile.rst:13 -msgid "In Chile, electronic signatures are regulated under the `Law 19.799 on electronic documents, electronic signature and certification services of such signature `_, `Decree 181/2002 `_ and `Law No. 21,180, on Digital Transformation of the State `_. The law establishes the legal basis for acknowledging electronic records, contracts, and signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/morocco.rst:5 +msgid "Odoo Sign legality in Morocco" msgstr "" -#: ../../content/applications/productivity/sign/chile.rst:25 -#: ../../content/applications/productivity/sign/hong_kong.rst:21 -msgid "**Certified electronic signatures**: special electronic signature that incorporates certificates issued by a recognized certification authority." +#: ../../content/applications/productivity/sign/morocco.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Morocco." msgstr "" -#: ../../content/applications/productivity/sign/chile.rst:29 -msgid "How Odoo Sign complies with Chilean regulations" +#: ../../content/applications/productivity/sign/morocco.rst:11 +msgid "Legal framework for electronic signatures in Morocco" msgstr "" -#: ../../content/applications/productivity/sign/chile.rst:31 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Chile by incorporating the following features:" +#: ../../content/applications/productivity/sign/morocco.rst:13 +msgid "In Morocco, electronic signatures are regulated under the `Law No. 53-05 on Digital Signature `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/chile.rst:59 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Chile:" +#: ../../content/applications/productivity/sign/morocco.rst:26 +msgid "How Odoo Sign complies with Moroccan regulations" msgstr "" -#: ../../content/applications/productivity/sign/chile.rst:70 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Chile, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/morocco.rst:28 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Morocco by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/china.rst:5 -msgid "Odoo Sign legality in China" +#: ../../content/applications/productivity/sign/morocco.rst:56 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Morocco:" msgstr "" -#: ../../content/applications/productivity/sign/china.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in China." +#: ../../content/applications/productivity/sign/morocco.rst:67 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Morocco, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/china.rst:11 -msgid "Legal framework for electronic signatures in China" +#: ../../content/applications/productivity/sign/new_zealand.rst:5 +msgid "Odoo Sign legality in New Zealand" msgstr "" -#: ../../content/applications/productivity/sign/china.rst:13 -msgid "In China, electronic signatures are regulated under the Electronic Signature Law (ESL) of the People's Republic of China, enacted in 2005 and amended in 2015. The law provides the foundation for the use and legal recognition of electronic signatures. The key points of the ESL include:" +#: ../../content/applications/productivity/sign/new_zealand.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in New Zealand." msgstr "" -#: ../../content/applications/productivity/sign/china.rst:21 -msgid "**Certification Authorities (CAs)**: the law recognizes electronic signatures supported by digital certificates issued by accredited Certification Authorities (CAs)." +#: ../../content/applications/productivity/sign/new_zealand.rst:11 +msgid "Legal framework for electronic signatures in New Zealand" msgstr "" -#: ../../content/applications/productivity/sign/china.rst:25 -msgid "How Odoo Sign complies with Chinese regulations" +#: ../../content/applications/productivity/sign/new_zealand.rst:13 +msgid "In New Zealand, electronic signatures are regulated under the `Contract and Commercial Law Act `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/china.rst:27 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of China by incorporating the following features:" +#: ../../content/applications/productivity/sign/new_zealand.rst:22 +msgid "**Special cases**: in New Zealand, there are certain use cases that require a traditional signature and expressly exclude the use of electronic signatures." msgstr "" -#: ../../content/applications/productivity/sign/china.rst:55 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in China:" +#: ../../content/applications/productivity/sign/new_zealand.rst:26 +msgid "How Odoo Sign complies with New Zealand regulations" msgstr "" -#: ../../content/applications/productivity/sign/china.rst:66 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of China, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/new_zealand.rst:28 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of New Zealand by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/colombia.rst:5 -msgid "Odoo Sign legality in Colombia" +#: ../../content/applications/productivity/sign/new_zealand.rst:56 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in New Zealand:" msgstr "" -#: ../../content/applications/productivity/sign/colombia.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Colombia." +#: ../../content/applications/productivity/sign/new_zealand.rst:67 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of New Zealand, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/colombia.rst:11 -msgid "Legal framework for electronic signatures in Colombia" +#: ../../content/applications/productivity/sign/nigeria.rst:5 +msgid "Odoo Sign legality in Nigeria" msgstr "" -#: ../../content/applications/productivity/sign/colombia.rst:13 -msgid "In Colombia, electronic signatures are regulated under the `Law 529 of 1999 `_. The law establishes the legal basis for acknowledging electronic records, contracts, and signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/nigeria.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Nigeria." msgstr "" -#: ../../content/applications/productivity/sign/colombia.rst:21 -msgid "**Certified electronic signatures**: special electronic signature that incorporates certificates issued by a recognized certification authority. In some cases, only the certified electronic signature has legal and juridical validity in Colombia. In those cases, simple electronic signatures like the Odoo Signature only work as a proof of the agreement to celebrate the corresponding transaction, which will be submitted to the authority's criteria." +#: ../../content/applications/productivity/sign/nigeria.rst:11 +msgid "Legal framework for electronic signatures in Nigeria" msgstr "" -#: ../../content/applications/productivity/sign/colombia.rst:28 -msgid "How Odoo Sign complies with Colombian regulations" +#: ../../content/applications/productivity/sign/nigeria.rst:13 +msgid "In Nigeria, electronic signatures are regulated under the `Nigerian Evidence Act `_. The law governs transactions performed through electronic means and the use of digital signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/colombia.rst:30 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Colombia by incorporating the following features:" +#: ../../content/applications/productivity/sign/nigeria.rst:24 +msgid "How Odoo Sign complies with Nigerian regulations" msgstr "" -#: ../../content/applications/productivity/sign/colombia.rst:58 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Colombia:" +#: ../../content/applications/productivity/sign/nigeria.rst:26 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Nigeria by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/colombia.rst:69 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Colombia, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/nigeria.rst:54 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Nigeria:" msgstr "" -#: ../../content/applications/productivity/sign/dominican_republic.rst:5 -msgid "Odoo Sign legality in the Dominican Republic" +#: ../../content/applications/productivity/sign/nigeria.rst:65 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Nigeria, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/dominican_republic.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in the Dominican Republic." +#: ../../content/applications/productivity/sign/norway.rst:5 +msgid "Odoo Sign legality in Norway" msgstr "" -#: ../../content/applications/productivity/sign/dominican_republic.rst:11 -msgid "Legal framework for electronic signatures in the Dominican Republic" +#: ../../content/applications/productivity/sign/norway.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Norway." msgstr "" -#: ../../content/applications/productivity/sign/dominican_republic.rst:13 -msgid "In the Dominican Republic, electronic signatures are regulated under the `Law 126-02 on Electronic Commerce, Documents and Digital Signatures `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/norway.rst:11 +msgid "Legal framework for electronic signatures in Norway" msgstr "" -#: ../../content/applications/productivity/sign/dominican_republic.rst:22 -#: ../../content/applications/productivity/sign/kenya.rst:21 -#: ../../content/applications/productivity/sign/morocco.rst:22 -#: ../../content/applications/productivity/sign/oman.rst:21 -msgid "**Certified electronic signature**: digital signature generated using a digital certificate supplied by a qualified provider." +#: ../../content/applications/productivity/sign/norway.rst:13 +msgid "In Norway, electronic signatures are regulated under the Act on electronic trust services that incorporates Electronic Identification and Trust Services for Electronic Transactions in the Internal Market (eIDAS) and Regulation No. 910/2014 of the European Parliament and of the Council. The law governs transactions performed through electronic means and the use of electronic signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/dominican_republic.rst:26 -msgid "How Odoo Sign complies with Dominican regulations" +#: ../../content/applications/productivity/sign/norway.rst:23 +msgid "**Qualified trust service providers**: the law recognizes electronic signatures supported by digital certificates issued by Qualified Trust Service Providers." msgstr "" -#: ../../content/applications/productivity/sign/dominican_republic.rst:28 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of the Dominican Republic by incorporating the following features:" +#: ../../content/applications/productivity/sign/norway.rst:27 +msgid "How Odoo Sign complies with Norwegian regulations" msgstr "" -#: ../../content/applications/productivity/sign/dominican_republic.rst:56 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in the Dominican Republic:" +#: ../../content/applications/productivity/sign/norway.rst:29 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Norway by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/dominican_republic.rst:67 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of the Dominican Republic, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/norway.rst:57 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Norway:" msgstr "" -#: ../../content/applications/productivity/sign/ecuador.rst:5 -msgid "Odoo Sign legality in Ecuador" +#: ../../content/applications/productivity/sign/norway.rst:68 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Norway, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/ecuador.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Ecuador." +#: ../../content/applications/productivity/sign/oman.rst:5 +msgid "Odoo Sign legality in Oman" msgstr "" -#: ../../content/applications/productivity/sign/ecuador.rst:11 -msgid "Legal framework for electronic signatures in Ecuador" +#: ../../content/applications/productivity/sign/oman.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Oman." msgstr "" -#: ../../content/applications/productivity/sign/ecuador.rst:13 -msgid "In Ecuador, electronic signatures are regulated under the `Law on Electronic Commerce, Electronic Signatures and Data Messages `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/oman.rst:11 +msgid "Legal framework for electronic signatures in Oman" msgstr "" -#: ../../content/applications/productivity/sign/ecuador.rst:26 -msgid "How Odoo Sign complies with Ecuadoran regulations" +#: ../../content/applications/productivity/sign/oman.rst:13 +msgid "In Oman, electronic signatures are regulated under the Electronic Transactions Law. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/ecuador.rst:28 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Ecuador by incorporating the following features:" +#: ../../content/applications/productivity/sign/oman.rst:25 +msgid "How Odoo Sign complies with Omani regulations" msgstr "" -#: ../../content/applications/productivity/sign/ecuador.rst:56 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Ecuador:" +#: ../../content/applications/productivity/sign/oman.rst:27 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Oman by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/ecuador.rst:67 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Ecuador, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/oman.rst:55 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Oman:" msgstr "" -#: ../../content/applications/productivity/sign/egypt.rst:5 -msgid "Odoo Sign legality in Egypt" +#: ../../content/applications/productivity/sign/oman.rst:66 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Oman, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/egypt.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Egypt." +#: ../../content/applications/productivity/sign/pakistan.rst:5 +msgid "Odoo Sign legality in Pakistan" msgstr "" -#: ../../content/applications/productivity/sign/egypt.rst:11 -msgid "Legal framework for electronic signatures in Egypt" +#: ../../content/applications/productivity/sign/pakistan.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Pakistan." msgstr "" -#: ../../content/applications/productivity/sign/egypt.rst:13 -msgid "In Egypt, electronic signatures are regulated under the `E-Signature Law `_. The law governs transactions performed through electronic means and the use of digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/pakistan.rst:11 +msgid "Legal framework for electronic signatures in Pakistan" msgstr "" -#: ../../content/applications/productivity/sign/egypt.rst:21 -msgid "**Qualified electronic signatures**: law recognizes special digital signatures certified by a qualified authority. In some cases, this type of signature is mandatory." +#: ../../content/applications/productivity/sign/pakistan.rst:13 +msgid "In Pakistan, electronic signatures are regulated under the `Electronic Transactions Ordinance `_. The law governs the use of electronic records and signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/egypt.rst:25 -msgid "How Odoo Sign complies with Egyptian regulations" +#: ../../content/applications/productivity/sign/pakistan.rst:21 +msgid "**Certified electronic signatures**: special electronic signature that incorporates certificates issued by an accredited certification service provider authorized by the Certification Council as being capable of establishing authenticity and integrity of an electronic document." msgstr "" -#: ../../content/applications/productivity/sign/egypt.rst:27 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Egypt by incorporating the following features:" +#: ../../content/applications/productivity/sign/pakistan.rst:26 +msgid "How Odoo Sign complies with Pakistani regulations" msgstr "" -#: ../../content/applications/productivity/sign/egypt.rst:55 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Egypt:" +#: ../../content/applications/productivity/sign/pakistan.rst:28 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Pakistan by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/egypt.rst:66 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Egypt, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/pakistan.rst:56 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Pakistan:" msgstr "" -#: ../../content/applications/productivity/sign/ethiopia.rst:5 -msgid "Odoo Sign legality in Ethiopia" +#: ../../content/applications/productivity/sign/pakistan.rst:67 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Pakistan, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/ethiopia.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Ethiopia." +#: ../../content/applications/productivity/sign/peru.rst:5 +msgid "Odoo Sign legality in Peru" msgstr "" -#: ../../content/applications/productivity/sign/ethiopia.rst:11 -msgid "Legal framework for electronic signatures in Ethiopia" +#: ../../content/applications/productivity/sign/peru.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Peru." msgstr "" -#: ../../content/applications/productivity/sign/ethiopia.rst:13 -msgid "In Ethiopia, electronic signatures are regulated under the `Electronic Signature Proclamation No. 1072/2018 `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/peru.rst:11 +msgid "Legal framework for electronic signatures in Peru" msgstr "" -#: ../../content/applications/productivity/sign/ethiopia.rst:21 -msgid "**Certificate electronic signature**: digital signature generated using a digital certificate supplied by a qualified provider." +#: ../../content/applications/productivity/sign/peru.rst:13 +msgid "In Peru, electronic signatures are regulated under the `Peruvian Civil Code, Law 27269 – Law of Digital Signatures and Certificates `_, `Supreme Decree N° 052-2008-PCM – Regulation of the Law of Digital Signatures and Certificates `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/ethiopia.rst:25 -msgid "How Odoo Sign complies with Ethiopian regulations" +#: ../../content/applications/productivity/sign/peru.rst:23 +msgid "**Digital signatures generated with the official electronic signature infrastructure**: digital signature generated using a digital certificate supplied by a provider accredited as such by the National Institute for the Defense of Competition and the Protection of Intellectual Property." msgstr "" -#: ../../content/applications/productivity/sign/ethiopia.rst:27 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Ethiopia by incorporating the following features:" +#: ../../content/applications/productivity/sign/peru.rst:28 +msgid "How Odoo Sign complies with Peruvian regulations" msgstr "" -#: ../../content/applications/productivity/sign/ethiopia.rst:55 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Ethiopia:" +#: ../../content/applications/productivity/sign/peru.rst:30 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Peru by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/ethiopia.rst:66 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Ethiopia, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/peru.rst:58 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Peru:" msgstr "" -#: ../../content/applications/productivity/sign/germany.rst:5 -msgid "Odoo Sign legality in Germany" +#: ../../content/applications/productivity/sign/peru.rst:69 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Peru, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/germany.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Germany." +#: ../../content/applications/productivity/sign/philippines.rst:5 +msgid "Odoo Sign legality in the Philippines" msgstr "" -#: ../../content/applications/productivity/sign/germany.rst:11 -msgid "Legal framework for electronic signatures in Germany" +#: ../../content/applications/productivity/sign/philippines.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in the Philippines." msgstr "" -#: ../../content/applications/productivity/sign/germany.rst:13 -msgid "In Germany, electronic signatures are regulated under `eIDAS Regulation No. 910/2014 `_ and the `Trust Services Act `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/philippines.rst:11 +msgid "Legal framework for electronic signatures in the Philippines" msgstr "" -#: ../../content/applications/productivity/sign/germany.rst:23 -msgid "**Qualified signature**: there are certain use cases that require a qualified signature issued by a trust service provider." +#: ../../content/applications/productivity/sign/philippines.rst:13 +msgid "In the Philippines, electronic signatures are regulated under the `Republic Act No. 8792 `_ and the `Electronic Commerce Act `_. The law governs the use of electronic records and signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/germany.rst:27 -msgid "How Odoo Sign complies with German regulations" +#: ../../content/applications/productivity/sign/philippines.rst:22 +msgid "**Philippine national public key infrastructure system**: the Philippine government operates an official PKI system known as the Philippine National Public Key Infrastructure. This system requires subscribers to adhere to specific obligations regarding the custody and proper use of digital certificates." msgstr "" -#: ../../content/applications/productivity/sign/germany.rst:29 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Germany by incorporating the following features:" +#: ../../content/applications/productivity/sign/philippines.rst:28 +msgid "How Odoo Sign complies with Philippine regulations" msgstr "" -#: ../../content/applications/productivity/sign/germany.rst:57 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Germany:" +#: ../../content/applications/productivity/sign/philippines.rst:30 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of the Philippines by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/germany.rst:68 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Germany, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/philippines.rst:58 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in the Philippines:" msgstr "" -#: ../../content/applications/productivity/sign/guatemala.rst:5 -msgid "Odoo Sign legality in Guatemala" +#: ../../content/applications/productivity/sign/philippines.rst:69 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of the Philippines, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/guatemala.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Guatemala." +#: ../../content/applications/productivity/sign/qatar.rst:5 +msgid "Odoo Sign legality in Qatar" msgstr "" -#: ../../content/applications/productivity/sign/guatemala.rst:11 -msgid "Legal framework for electronic signatures in Guatemala" +#: ../../content/applications/productivity/sign/qatar.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Qatar." msgstr "" -#: ../../content/applications/productivity/sign/guatemala.rst:13 -msgid "In Guatemala, electronic signatures are regulated under the `Electronic Communications and Signatures Law `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/qatar.rst:11 +msgid "Legal framework for electronic signatures in Qatar" msgstr "" -#: ../../content/applications/productivity/sign/guatemala.rst:21 -msgid "**Certification service providers**: digital signature generated using a digital certificate supplied by a qualified provider." +#: ../../content/applications/productivity/sign/qatar.rst:13 +msgid "In Qatar, electronic signatures are regulated under the `Electronic Transactions and Commerce Law No. 16 of 2010 `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/guatemala.rst:25 -msgid "How Odoo Sign complies with Guatemalan regulations" +#: ../../content/applications/productivity/sign/qatar.rst:22 +msgid "**Certification authorities**: digital signature generated using a digital certificate supplied by a certified provider." msgstr "" -#: ../../content/applications/productivity/sign/guatemala.rst:27 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Guatemala by incorporating the following features:" +#: ../../content/applications/productivity/sign/qatar.rst:26 +msgid "How Odoo Sign complies with Qatari regulations" msgstr "" -#: ../../content/applications/productivity/sign/guatemala.rst:55 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Guatemala:" +#: ../../content/applications/productivity/sign/qatar.rst:28 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Qatar by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/guatemala.rst:66 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Guatemala, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/qatar.rst:56 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Qatar:" msgstr "" -#: ../../content/applications/productivity/sign/hong_kong.rst:5 -msgid "Odoo Sign legality in Hong Kong" +#: ../../content/applications/productivity/sign/qatar.rst:67 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Qatar, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/hong_kong.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Hong Kong." +#: ../../content/applications/productivity/sign/russia.rst:5 +msgid "Odoo Sign legality in Russia" msgstr "" -#: ../../content/applications/productivity/sign/hong_kong.rst:11 -msgid "Legal framework for electronic signatures in Hong Kong" +#: ../../content/applications/productivity/sign/russia.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Russia." msgstr "" -#: ../../content/applications/productivity/sign/hong_kong.rst:13 -msgid "In Hong Kong, electronic signatures are regulated under the `Electronic Transactions Ordinance `_. The law establishes the legal basis for acknowledging electronic records, contracts, and signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/russia.rst:11 +msgid "Legal framework for electronic signatures in Russia" msgstr "" -#: ../../content/applications/productivity/sign/hong_kong.rst:25 -msgid "How Odoo Sign complies with Hong Kong regulations" +#: ../../content/applications/productivity/sign/russia.rst:13 +msgid "In Russia, electronic signatures are regulated under the `Federal Law No. 63-FZ as of 6 April 2011 \"On electronic signature\" `_ and the `Civil Code of the Russian Federation `_. The law provides the foundation for the use and legal recognition of electronic signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/hong_kong.rst:27 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Hong Kong by incorporating the following features:" +#: ../../content/applications/productivity/sign/russia.rst:24 +msgid "**Qualified electronic signatures**: the law recognizes digital signature certificates that serve as proof of identity of an individual for a certain purpose that can be used in special cases to provide additional security. These certificates are issued by Certification Authorities and are required by law for the signature of specific acts." msgstr "" -#: ../../content/applications/productivity/sign/hong_kong.rst:55 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Hong Kong:" +#: ../../content/applications/productivity/sign/russia.rst:30 +msgid "How Odoo Sign complies with Russian regulations" msgstr "" -#: ../../content/applications/productivity/sign/hong_kong.rst:66 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Hong Kong, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/russia.rst:32 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Russia by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/india.rst:5 -msgid "Odoo Sign legality in India" +#: ../../content/applications/productivity/sign/russia.rst:60 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Russia:" msgstr "" -#: ../../content/applications/productivity/sign/india.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in India." +#: ../../content/applications/productivity/sign/russia.rst:71 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Russia, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/india.rst:11 -msgid "Legal framework for electronic signatures in India" +#: ../../content/applications/productivity/sign/saudi_arabia.rst:5 +msgid "Odoo Sign legality in Saudi Arabia" msgstr "" -#: ../../content/applications/productivity/sign/india.rst:13 -msgid "In India, electronic signatures are regulated under the `Information Technology Act (ITA) `_, the `Indian Contract Act (ICA) `_ and the Electronic Signature or Electronic Authentication Technique and Procedure Rules (ESEATPR). The law provides the foundation for the use and legal recognition of electronic signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/saudi_arabia.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Saudi Arabia." msgstr "" -#: ../../content/applications/productivity/sign/india.rst:24 -msgid "**Digital signature certificates**: the law recognizes digital signature certificates that serve as proof of identity of an individual for a certain purpose that can be used in special cases to provide additional security." +#: ../../content/applications/productivity/sign/saudi_arabia.rst:11 +msgid "Legal framework for electronic signatures in Saudi Arabia" msgstr "" -#: ../../content/applications/productivity/sign/india.rst:29 -msgid "How Odoo Sign complies with Indian regulations" +#: ../../content/applications/productivity/sign/saudi_arabia.rst:13 +msgid "In Saudi Arabia, electronic signatures are regulated under the `Electronic Transactions Law `_ and the Regulation No. 1/1429. The law governs transactions performed through electronic means and the use of electronic signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/india.rst:31 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of India by incorporating the following features:" +#: ../../content/applications/productivity/sign/saudi_arabia.rst:21 +msgid "**Certificate-based digital signatures**: the law recognizes electronic signatures supported by digital certificates issued by accredited Certification Service Provider." msgstr "" -#: ../../content/applications/productivity/sign/india.rst:59 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in India:" +#: ../../content/applications/productivity/sign/saudi_arabia.rst:25 +msgid "How Odoo Sign complies with Saudi regulations" msgstr "" -#: ../../content/applications/productivity/sign/india.rst:70 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of India, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/saudi_arabia.rst:27 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Saudi Arabia by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/indonesia.rst:5 -msgid "Odoo Sign legality in Indonesia" +#: ../../content/applications/productivity/sign/saudi_arabia.rst:55 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Saudi Arabia:" msgstr "" -#: ../../content/applications/productivity/sign/indonesia.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Indonesia." +#: ../../content/applications/productivity/sign/saudi_arabia.rst:66 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Saudi Arabia, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/indonesia.rst:11 -msgid "Legal framework for electronic signatures in Indonesia" +#: ../../content/applications/productivity/sign/singapore.rst:5 +msgid "Odoo Sign legality in Singapore" msgstr "" -#: ../../content/applications/productivity/sign/indonesia.rst:13 -msgid "In Indonesia, electronic signatures are regulated under the `Law of the Republic of Indonesia No. 11 of 2008 on Electronic Information and Transactions `_, Government Regulation No. 71 of 2019 on Organization of Electronic system and Transactions, as well as the Minister of Communications and Informatics (MoCI) Regulation No. 11 of 2018 on Administration of Electronic Certification (\"MoCI Regulation 11 of 2018\"). The law governs transactions performed through electronic means and the use of electronic signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/singapore.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Singapore." msgstr "" -#: ../../content/applications/productivity/sign/indonesia.rst:25 -msgid "**Certified e-signatures**: the law recognizes digital signature certificates that serve as proof of identity of an individual for a certain purpose that can be used in special cases to provide additional security. These certificates are issued by Certification Authorities and are required by law for the signature of specific acts." +#: ../../content/applications/productivity/sign/singapore.rst:11 +msgid "Legal framework for electronic signatures in Singapore" msgstr "" -#: ../../content/applications/productivity/sign/indonesia.rst:31 -msgid "How Odoo Sign complies with Indonesian regulations" +#: ../../content/applications/productivity/sign/singapore.rst:13 +msgid "In Singapore, electronic signatures are regulated under the `Electronic Transactions Act `_. The law recognizes the use of electronic documents and electronic signatures for the execution of contracts and other transactions. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/indonesia.rst:33 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Indonesia by incorporating the following features:" +#: ../../content/applications/productivity/sign/singapore.rst:23 +msgid "How Odoo Sign complies with Singapore regulations" msgstr "" -#: ../../content/applications/productivity/sign/indonesia.rst:61 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Indonesia:" +#: ../../content/applications/productivity/sign/singapore.rst:25 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Singapore by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/indonesia.rst:72 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Indonesia, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/singapore.rst:53 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Singapore:" msgstr "" -#: ../../content/applications/productivity/sign/iran.rst:5 -msgid "Odoo Sign legality in Iran" +#: ../../content/applications/productivity/sign/singapore.rst:64 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Singapore, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/iran.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Iran." +#: ../../content/applications/productivity/sign/south_africa.rst:5 +msgid "Odoo Sign legality in South Africa" msgstr "" -#: ../../content/applications/productivity/sign/iran.rst:11 -msgid "Legal framework for electronic signatures in Iran" +#: ../../content/applications/productivity/sign/south_africa.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in South Africa." msgstr "" -#: ../../content/applications/productivity/sign/iran.rst:13 -msgid "In Iran, electronic signatures are regulated under the `Iran Civil Code `_ and the `Electronic Commerce Act `_. The law governs the use of electronic records and signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/south_africa.rst:11 +msgid "Legal framework for electronic signatures in South Africa" msgstr "" -#: ../../content/applications/productivity/sign/iran.rst:24 -msgid "How Odoo Sign complies with Iranian regulations" +#: ../../content/applications/productivity/sign/south_africa.rst:13 +msgid "In South Africa, electronic signatures are regulated under the `Electronic Communications and Transactions Act `_. The law governs transactions performed through electronic means and the use of digital signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/iran.rst:26 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Iran by incorporating the following features:" +#: ../../content/applications/productivity/sign/south_africa.rst:22 +msgid "**Advance electronic signatures**: in some cases, electronic signatures must be certified by an electronic signature certification authority." msgstr "" -#: ../../content/applications/productivity/sign/iran.rst:54 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Iran:" +#: ../../content/applications/productivity/sign/south_africa.rst:26 +msgid "How Odoo Sign complies with South African regulations" msgstr "" -#: ../../content/applications/productivity/sign/iran.rst:65 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Iran, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/south_africa.rst:28 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of South Africa by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/iraq.rst:5 -msgid "Odoo Sign legality in Iraq" +#: ../../content/applications/productivity/sign/south_africa.rst:56 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in South Africa:" msgstr "" -#: ../../content/applications/productivity/sign/iraq.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Iraq." +#: ../../content/applications/productivity/sign/south_africa.rst:67 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of South Africa, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/iraq.rst:11 -msgid "Legal framework for electronic signatures in Iraq" +#: ../../content/applications/productivity/sign/south_korea.rst:5 +msgid "Odoo Sign legality in South Korea" msgstr "" -#: ../../content/applications/productivity/sign/iraq.rst:13 -msgid "In Iraq, electronic signatures are regulated under the `Electronic Signature and Electronic transactions Law No. 78 Of 2012 `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/south_korea.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in South Korea." msgstr "" -#: ../../content/applications/productivity/sign/iraq.rst:22 -msgid "**Certified electronic signatures**: Special electronic signature that incorporates certificates issued by a recognized certification authority. In some cases, only the certified electronic signature has legal and juridical validity in Iraq. In those cases, simple electronic signatures like the Odoo Signature only work as a proof of the agreement of wills to celebrate the corresponding transaction, which will be submitted to the authority's criteria." +#: ../../content/applications/productivity/sign/south_korea.rst:11 +msgid "Legal framework for electronic signatures in South Korea" msgstr "" -#: ../../content/applications/productivity/sign/iraq.rst:29 -msgid "How Odoo Sign complies with Iraqi regulations" +#: ../../content/applications/productivity/sign/south_korea.rst:13 +msgid "In South Korea, electronic signatures are regulated under the `Digital Signature Act `_ and the `Framework Act on Electronic Documents and Transactions of Korea `_. The law governs transactions performed through electronic means and the use of electronic signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/iraq.rst:31 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Iraq by incorporating the following features:" +#: ../../content/applications/productivity/sign/south_korea.rst:22 +msgid "**Electronic signature certification services**: the law recognizes digital signature certificates or “seals” that serve as proof of identity of an individual for a certain purpose that can be used in special cases to provide additional security. These certificates are issued by Certification Authorities and are required by law for the signature of specific acts." msgstr "" -#: ../../content/applications/productivity/sign/iraq.rst:59 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Iraq:" +#: ../../content/applications/productivity/sign/south_korea.rst:28 +msgid "How Odoo Sign complies with South Korean regulations" msgstr "" -#: ../../content/applications/productivity/sign/iraq.rst:70 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Iraq, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/south_korea.rst:30 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of South Korea by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/israel.rst:5 -msgid "Odoo Sign legality in Israel" +#: ../../content/applications/productivity/sign/south_korea.rst:58 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in South Korea:" msgstr "" -#: ../../content/applications/productivity/sign/israel.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Israel." +#: ../../content/applications/productivity/sign/south_korea.rst:69 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of South Korea, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/israel.rst:11 -msgid "Legal framework for electronic signatures in Israel" +#: ../../content/applications/productivity/sign/switzerland.rst:5 +msgid "Odoo Sign legality in Switzerland" msgstr "" -#: ../../content/applications/productivity/sign/israel.rst:13 -msgid "In Israel, electronic signatures are regulated under the Electronic Signature Law, and various electronic signature regulations. The law governs transactions performed through electronic means and the use of electronic signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/switzerland.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Switzerland." msgstr "" -#: ../../content/applications/productivity/sign/israel.rst:21 -msgid "**Certified electronic signature**: the law recognizes electronic signatures supported by digital certificates issued by Certified Providers." +#: ../../content/applications/productivity/sign/switzerland.rst:11 +msgid "Legal framework for electronic signatures in Switzerland" msgstr "" -#: ../../content/applications/productivity/sign/israel.rst:25 -msgid "How Odoo Sign complies with Israeli regulations" +#: ../../content/applications/productivity/sign/switzerland.rst:13 +msgid "In Switzerland, electronic signatures are regulated under the `Federal Act on Electronic Signatures `_ and the Swiss Code of Obligations. The law governs transactions performed through electronic means and the use of electronic signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/israel.rst:27 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Israel by incorporating the following features:" +#: ../../content/applications/productivity/sign/switzerland.rst:22 +msgid "**Qualified electronic signatures**: the law recognizes electronic signatures supported by digital certificates issued by accredited Certification Service Providers mandatory in some cases." msgstr "" -#: ../../content/applications/productivity/sign/israel.rst:55 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Israel:" +#: ../../content/applications/productivity/sign/switzerland.rst:26 +msgid "How Odoo Sign complies with Swiss regulations" msgstr "" -#: ../../content/applications/productivity/sign/israel.rst:66 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Israel, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/switzerland.rst:28 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Switzerland by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/japan.rst:5 -msgid "Odoo Sign legality in Japan" +#: ../../content/applications/productivity/sign/switzerland.rst:56 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Switzerland:" msgstr "" -#: ../../content/applications/productivity/sign/japan.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Japan." +#: ../../content/applications/productivity/sign/switzerland.rst:67 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Switzerland, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/japan.rst:11 -msgid "Legal framework for electronic signatures in Japan" +#: ../../content/applications/productivity/sign/thailand.rst:5 +msgid "Odoo Sign legality in Thailand" msgstr "" -#: ../../content/applications/productivity/sign/japan.rst:13 -msgid "In Japan, electronic signatures are regulated under the `Act on Electronic Signatures and Certification Business (E-signature Act) `_ published in the official gazette on May 31, 2000. The law provides the foundation for the use and legal recognition of electronic signatures. The key points of the E-signature Act include:" +#: ../../content/applications/productivity/sign/thailand.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Thailand." msgstr "" -#: ../../content/applications/productivity/sign/japan.rst:22 -msgid "**Certification Businesses (CBs)**: the law recognizes electronic signatures supported by digital certificates issued by accredited CBs." +#: ../../content/applications/productivity/sign/thailand.rst:11 +msgid "Legal framework for electronic signatures in Thailand" msgstr "" -#: ../../content/applications/productivity/sign/japan.rst:26 -msgid "How Odoo Sign complies with Japanese regulations" +#: ../../content/applications/productivity/sign/thailand.rst:13 +msgid "In Thailand, electronic signatures are regulated under the `Electronic Transaction Act B.E. 2544 `_. The law governs transactions performed through electronic means and the use of digital signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/japan.rst:28 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Japan by incorporating the following features:" +#: ../../content/applications/productivity/sign/thailand.rst:23 +msgid "How Odoo Sign complies with Thai regulations" msgstr "" -#: ../../content/applications/productivity/sign/japan.rst:56 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Japan:" +#: ../../content/applications/productivity/sign/thailand.rst:25 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Thailand by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/japan.rst:67 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Japan, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/thailand.rst:53 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Thailand:" msgstr "" -#: ../../content/applications/productivity/sign/kazakhstan.rst:5 -msgid "Odoo Sign legality in Kazakhstan" +#: ../../content/applications/productivity/sign/thailand.rst:64 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Thailand, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/kazakhstan.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Kazakhstan." +#: ../../content/applications/productivity/sign/turkey.rst:5 +msgid "Odoo Sign legality in Turkey" msgstr "" -#: ../../content/applications/productivity/sign/kazakhstan.rst:11 -msgid "Legal framework for electronic signatures in Kazakhstan" +#: ../../content/applications/productivity/sign/turkey.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Turkey." msgstr "" -#: ../../content/applications/productivity/sign/kazakhstan.rst:13 -msgid "In Kazakhstan, electronic signatures are regulated under the `Civil Code `_ and the `Law On Electronic Document and Electronic Digital Signature `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/turkey.rst:11 +msgid "Legal framework for electronic signatures in Turkey" msgstr "" -#: ../../content/applications/productivity/sign/kazakhstan.rst:27 -msgid "How Odoo Sign complies with Kazakhstani regulations" +#: ../../content/applications/productivity/sign/turkey.rst:13 +msgid "In Turkey, electronic signatures are regulated under the `Electronic Signature Law No.5070 `_, `Code of Obligations No. 6098 `_, among other secondary regulations. The law governs transactions performed through electronic means and the use of electronic signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/kazakhstan.rst:29 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Kazakhstan by incorporating the following features:" +#: ../../content/applications/productivity/sign/turkey.rst:23 +msgid "**Electronic certificate service provider**: the law recognizes electronic signatures supported by digital certificates issued by accredited Certification Service Provider." msgstr "" -#: ../../content/applications/productivity/sign/kazakhstan.rst:57 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Kazakhstan:" +#: ../../content/applications/productivity/sign/turkey.rst:27 +msgid "How Odoo Sign complies with Turkish regulations" msgstr "" -#: ../../content/applications/productivity/sign/kazakhstan.rst:68 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Kazakhstan, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/turkey.rst:29 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Turkey by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/kenya.rst:5 -msgid "Odoo Sign legality in Kenya" +#: ../../content/applications/productivity/sign/turkey.rst:57 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Turkey:" msgstr "" -#: ../../content/applications/productivity/sign/kenya.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Kenya." +#: ../../content/applications/productivity/sign/turkey.rst:68 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Turkey, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/kenya.rst:11 -msgid "Legal framework for electronic signatures in Kenya" +#: ../../content/applications/productivity/sign/ukraine.rst:5 +msgid "Odoo Sign legality in Ukraine" msgstr "" -#: ../../content/applications/productivity/sign/kenya.rst:13 -msgid "In Kenya, electronic signatures are regulated under the `Information and Communications Act `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/ukraine.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Ukraine." msgstr "" -#: ../../content/applications/productivity/sign/kenya.rst:25 -msgid "How Odoo Sign complies with Kenyan regulations" +#: ../../content/applications/productivity/sign/ukraine.rst:11 +msgid "Legal framework for electronic signatures in Ukraine" msgstr "" -#: ../../content/applications/productivity/sign/kenya.rst:27 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Kenya by incorporating the following features:" +#: ../../content/applications/productivity/sign/ukraine.rst:13 +msgid "In Ukraine, electronic signatures are regulated under the Law of Ukraine No. 852-IV \"On Electronic Digital Signature. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/kenya.rst:55 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Kenya:" +#: ../../content/applications/productivity/sign/ukraine.rst:25 +msgid "How Odoo Sign complies with Ukrainian regulations" msgstr "" -#: ../../content/applications/productivity/sign/kenya.rst:66 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Kenya, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/ukraine.rst:27 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Ukraine by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/kuwait.rst:5 -msgid "Odoo Sign legality in Kuwait" +#: ../../content/applications/productivity/sign/ukraine.rst:55 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Ukraine:" msgstr "" -#: ../../content/applications/productivity/sign/kuwait.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Kuwait." +#: ../../content/applications/productivity/sign/ukraine.rst:66 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Ukraine, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/kuwait.rst:11 -msgid "Legal framework for electronic signatures in Kuwait" +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:5 +msgid "Odoo Sign legality in the United Arab Emirates" msgstr "" -#: ../../content/applications/productivity/sign/kuwait.rst:13 -msgid "In Kuwait, electronic signatures are regulated under the `Law No.20 of 2014 concerning Electronic Transactions and its Implementing Regulations `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in the United Arab Emirates." msgstr "" -#: ../../content/applications/productivity/sign/kuwait.rst:24 -msgid "How Odoo Sign complies with Kuwaiti regulations" +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:11 +msgid "Legal framework for electronic signatures in the United Arab Emirates" msgstr "" -#: ../../content/applications/productivity/sign/kuwait.rst:26 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Kuwait by incorporating the following features:" +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:13 +msgid "In the United Arab Emirates, electronic signatures are regulated under the `Federal Decree by Law No. 46 of 2021 on Electronic Transactions and Trust Services `_, `ADGM Electronic Transactions Regulations 202 `_, `DIFC Law No. 2 of 2017 `_. The law governs transactions performed through electronic means and the use of digital signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/kuwait.rst:54 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Kuwait:" +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:24 +msgid "**Qualified electronic signature**: the law recognizes electronic signatures supported by digital certificates issued by a qualified trust service provider." msgstr "" -#: ../../content/applications/productivity/sign/kuwait.rst:65 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Kuwait, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:28 +msgid "How Odoo Sign complies with Emirati regulations" msgstr "" -#: ../../content/applications/productivity/sign/malaysia.rst:5 -msgid "Odoo Sign legality in Malaysia" +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:30 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of the United Arab Emirates by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/malaysia.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Malaysia." +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:58 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in the United Arab Emirates:" msgstr "" -#: ../../content/applications/productivity/sign/malaysia.rst:11 -msgid "Legal framework for electronic signatures in Malaysia" +#: ../../content/applications/productivity/sign/united_arab_emirates.rst:69 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of the United Arab Emirates, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/malaysia.rst:13 -msgid "In Malaysia, electronic signatures are regulated under the `Digital Signature Act 1997 `_ and the `Electronic Commerce Act 2006 `_. The law governs transactions performed through electronic means and the use of digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/united_kingdom.rst:5 +msgid "Odoo Sign legality in the United Kingdom" msgstr "" -#: ../../content/applications/productivity/sign/malaysia.rst:22 -msgid "**Certified digital signatures**: the law governs the use of digital certificates to provide major security and integrity to digital signatures. In some cases, electronic signatures must be certified by an electronic signature certification authority." +#: ../../content/applications/productivity/sign/united_kingdom.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in the United Kingdom." msgstr "" -#: ../../content/applications/productivity/sign/malaysia.rst:27 -msgid "How Odoo Sign complies with Malaysian regulations" +#: ../../content/applications/productivity/sign/united_kingdom.rst:11 +msgid "Legal framework for electronic signatures in the United Kingdom" msgstr "" -#: ../../content/applications/productivity/sign/malaysia.rst:29 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Malaysia by incorporating the following features:" +#: ../../content/applications/productivity/sign/united_kingdom.rst:13 +msgid "In the United Kingdom, electronic signatures are regulated under Electronic Communications Act (ECA), and the `UK version `_ of Regulation (EU) No 910/2014 of the European Parliament and of the Council of 23 July 2014 on electronic identification and trust services for electronic transactions in the internal market (eIDAS) as amended by the `Electronic Identification and Trust Services for Electronic Transactions `_ (Amendment) (EU Exit) Regulations 2019 (SI 2019/89) (the “UK eIDAS Regulation”). The law provides the foundation for the use and legal recognition of electronic signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/malaysia.rst:57 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Malaysia:" +#: ../../content/applications/productivity/sign/united_kingdom.rst:26 +msgid "**Digital signature certificates**: the law recognizes digital signature certificates that serve as proof of identity of an individual for a certain purpose that can be used in special cases to provide additional security. These certificates are issued by Certification Authorities and are required by law for the signature of specific acts." msgstr "" -#: ../../content/applications/productivity/sign/malaysia.rst:68 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Malaysia, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/united_kingdom.rst:32 +msgid "How Odoo Sign complies with the United Kingdom regulations" msgstr "" -#: ../../content/applications/productivity/sign/mexico.rst:5 -msgid "Odoo Sign legality in Mexico" +#: ../../content/applications/productivity/sign/united_kingdom.rst:34 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of the United Kingdom by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/mexico.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Mexico." +#: ../../content/applications/productivity/sign/united_kingdom.rst:62 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in the United Kingdom:" msgstr "" -#: ../../content/applications/productivity/sign/mexico.rst:11 -msgid "Legal framework for electronic signatures in Mexico" +#: ../../content/applications/productivity/sign/united_kingdom.rst:73 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of the United Kingdom, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/mexico.rst:13 -msgid "In Mexico, electronic signatures are regulated under the `Mexican Civil Code `_ and the `Commercial Code `_, as well as the civil codes of each state. The law governs transactions performed through electronic means and the use of electronic signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/uzbekistan.rst:5 +msgid "Odoo Sign legality in Uzbekistan" msgstr "" -#: ../../content/applications/productivity/sign/mexico.rst:23 -msgid "**NORMA Oficial Mexicana NOM-151-SCFI-2016 (NOM 151)**: establishes the requirements for the conservation of data messages and digitization of documents with full guarantees of integrity. It also establishes the certification and time stamping requirements for certain documents." +#: ../../content/applications/productivity/sign/uzbekistan.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Uzbekistan." msgstr "" -#: ../../content/applications/productivity/sign/mexico.rst:28 -msgid "How Odoo Sign complies with Mexican regulations" +#: ../../content/applications/productivity/sign/uzbekistan.rst:11 +msgid "Legal framework for electronic signatures in Uzbekistan" msgstr "" -#: ../../content/applications/productivity/sign/mexico.rst:30 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Mexico by incorporating the following features:" +#: ../../content/applications/productivity/sign/uzbekistan.rst:13 +msgid "In Uzbekistan, electronic signatures are regulated under the `Law On Electronic Digital Signature `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/mexico.rst:58 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Mexico:" +#: ../../content/applications/productivity/sign/uzbekistan.rst:22 +msgid "**Electronic digital signature keys**: digital signature generated using a digital certificate supplied by a qualified provider." msgstr "" -#: ../../content/applications/productivity/sign/mexico.rst:69 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Mexico, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/uzbekistan.rst:26 +msgid "How Odoo Sign complies with Uzbekistani regulations" msgstr "" -#: ../../content/applications/productivity/sign/morocco.rst:5 -msgid "Odoo Sign legality in Morocco" +#: ../../content/applications/productivity/sign/uzbekistan.rst:28 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Uzbekistan by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/morocco.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Morocco." +#: ../../content/applications/productivity/sign/uzbekistan.rst:56 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Uzbekistan:" msgstr "" -#: ../../content/applications/productivity/sign/morocco.rst:11 -msgid "Legal framework for electronic signatures in Morocco" +#: ../../content/applications/productivity/sign/uzbekistan.rst:67 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Uzbekistan, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/morocco.rst:13 -msgid "In Morocco, electronic signatures are regulated under the `Law No. 53-05 on Digital Signature `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/vietnam.rst:5 +msgid "Odoo Sign legality in Vietnam" msgstr "" -#: ../../content/applications/productivity/sign/morocco.rst:26 -msgid "How Odoo Sign complies with Moroccan regulations" +#: ../../content/applications/productivity/sign/vietnam.rst:7 +msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Vietnam." msgstr "" -#: ../../content/applications/productivity/sign/morocco.rst:28 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Morocco by incorporating the following features:" +#: ../../content/applications/productivity/sign/vietnam.rst:11 +msgid "Legal framework for electronic signatures in Vietnam" msgstr "" -#: ../../content/applications/productivity/sign/morocco.rst:56 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Morocco:" +#: ../../content/applications/productivity/sign/vietnam.rst:13 +msgid "In Vietnam, electronic signatures are regulated under the `Civil Code No. 91/2015/QH132015 `_, the `Law on E-Transactions No. 51/2005/QH11 `_. The law governs transactions performed through electronic means and the use of digital signatures. The key points of the law include:" msgstr "" -#: ../../content/applications/productivity/sign/morocco.rst:67 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Morocco, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/sign/vietnam.rst:23 +msgid "**Certified electronic signatures**: the law regulates the use of digital certificates that guarantee security and integrity of the signature. In some cases, electronic signatures must be certified by an electronic signature certification service provide" msgstr "" -#: ../../content/applications/productivity/sign/new_zealand.rst:5 -msgid "Odoo Sign legality in New Zealand" +#: ../../content/applications/productivity/sign/vietnam.rst:28 +msgid "How Odoo Sign complies with Vietnamese regulations" msgstr "" -#: ../../content/applications/productivity/sign/new_zealand.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in New Zealand." +#: ../../content/applications/productivity/sign/vietnam.rst:30 +msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Vietnam by incorporating the following features:" msgstr "" -#: ../../content/applications/productivity/sign/new_zealand.rst:11 -msgid "Legal framework for electronic signatures in New Zealand" +#: ../../content/applications/productivity/sign/vietnam.rst:58 +msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Vietnam:" msgstr "" -#: ../../content/applications/productivity/sign/new_zealand.rst:13 -msgid "In New Zealand, electronic signatures are regulated under the `Contract and Commercial Law Act `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/sign/vietnam.rst:69 +msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Vietnam, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." msgstr "" -#: ../../content/applications/productivity/sign/new_zealand.rst:22 -msgid "**Special cases**: in New Zealand, there are certain use cases that require a traditional signature and expressly exclude the use of electronic signatures." +#: ../../content/applications/productivity/spreadsheet.rst:7 +msgid "Spreadsheet" msgstr "" -#: ../../content/applications/productivity/sign/new_zealand.rst:26 -msgid "How Odoo Sign complies with New Zealand regulations" +#: ../../content/applications/productivity/spreadsheet.rst:18 +msgid "**Odoo Spreadsheet** allows you to organize, manipulate, analyze, and visualize data. It offers similar functionality to other spreadsheet solutions with the added benefit of integrating directly with your Odoo database." msgstr "" -#: ../../content/applications/productivity/sign/new_zealand.rst:28 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of New Zealand by incorporating the following features:" +#: ../../content/applications/productivity/spreadsheet.rst:22 +msgid "With Odoo Spreadsheet, you can:" msgstr "" -#: ../../content/applications/productivity/sign/new_zealand.rst:56 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in New Zealand:" +#: ../../content/applications/productivity/spreadsheet.rst:24 +msgid ":ref:`create spreadsheets ` or :ref:`upload files ` and open them as Odoo spreadsheets" msgstr "" -#: ../../content/applications/productivity/sign/new_zealand.rst:67 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of New Zealand, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/spreadsheet.rst:26 +msgid ":ref:`create and use templates `" msgstr "" -#: ../../content/applications/productivity/sign/nigeria.rst:5 -msgid "Odoo Sign legality in Nigeria" +#: ../../content/applications/productivity/spreadsheet.rst:27 +msgid ":doc:`use functions, including Odoo-specific functions `" msgstr "" -#: ../../content/applications/productivity/sign/nigeria.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Nigeria." +#: ../../content/applications/productivity/spreadsheet.rst:28 +msgid ":doc:`insert and link to Odoo data `" msgstr "" -#: ../../content/applications/productivity/sign/nigeria.rst:11 -msgid "Legal framework for electronic signatures in Nigeria" +#: ../../content/applications/productivity/spreadsheet.rst:29 +msgid ":doc:`create and use dynamic pivot tables `" msgstr "" -#: ../../content/applications/productivity/sign/nigeria.rst:13 -msgid "In Nigeria, electronic signatures are regulated under the `Nigerian Evidence Act `_. The law governs transactions performed through electronic means and the use of digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/spreadsheet.rst:30 +msgid "filter data across multiple Odoo data sources using :doc:`global filters `" msgstr "" -#: ../../content/applications/productivity/sign/nigeria.rst:24 -msgid "How Odoo Sign complies with Nigerian regulations" +#: ../../content/applications/productivity/spreadsheet.rst:32 +msgid "visualize data using :doc:`charts ` and :doc:`formatting `" msgstr "" -#: ../../content/applications/productivity/sign/nigeria.rst:26 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Nigeria by incorporating the following features:" +#: ../../content/applications/productivity/spreadsheet.rst:34 +msgid ":doc:`share files internally and externally `" msgstr "" -#: ../../content/applications/productivity/sign/nigeria.rst:54 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Nigeria:" +#: ../../content/applications/productivity/spreadsheet.rst:36 +msgid "The Spreadsheet module is part of **Odoo Documents**." msgstr "" -#: ../../content/applications/productivity/sign/nigeria.rst:65 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Nigeria, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/spreadsheet.rst:39 +msgid "Within a spreadsheet, opening the command palette, using the :doc:`keyboard shortcut <../essentials/keyboard_shortcuts>` `Ctrl` + `K` or `Command` + `K`, allows you to browse and execute spreadsheet commands via the keyboard, without having to navigate menus." msgstr "" -#: ../../content/applications/productivity/sign/norway.rst:5 -msgid "Odoo Sign legality in Norway" +#: ../../content/applications/productivity/spreadsheet.rst:44 +msgid "Odoo spreadsheets serve as the foundation for the :doc:`dashboards available in Odoo Dashboards `. On a dashboard, charts and data tables are used to display dynamic Odoo data and provide an overview of key business metrics." msgstr "" -#: ../../content/applications/productivity/sign/norway.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Norway." +#: ../../content/applications/productivity/spreadsheet.rst:48 +msgid ":ref:`Standard, pre-configured dashboards ` can be :ref:`customized ` by editing the dashboard's underlying spreadsheet via Dashboards. :ref:`Custom dashboards ` can also be created from scratch, starting from an Odoo spreadsheet; any subsequent :ref:`modifications ` are performed via Dashboards." msgstr "" -#: ../../content/applications/productivity/sign/norway.rst:11 -msgid "Legal framework for electronic signatures in Norway" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:3 +msgid "Get started" msgstr "" -#: ../../content/applications/productivity/sign/norway.rst:13 -msgid "In Norway, electronic signatures are regulated under the Act on electronic trust services that incorporates Electronic Identification and Trust Services for Electronic Transactions in the Internal Market (eIDAS) and Regulation No. 910/2014 of the European Parliament and of the Council. The law governs transactions performed through electronic means and the use of electronic signatures. The key points of the law include:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:8 +msgid "Create a new spreadsheet" msgstr "" -#: ../../content/applications/productivity/sign/norway.rst:23 -msgid "**Qualified trust service providers**: the law recognizes electronic signatures supported by digital certificates issued by Qualified Trust Service Providers." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:10 +msgid "To create a new spreadsheet:" msgstr "" -#: ../../content/applications/productivity/sign/norway.rst:27 -msgid "How Odoo Sign complies with Norwegian regulations" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:12 +msgid "Open Odoo Documents and navigate to the section or folder in which the spreadsheet should be created." msgstr "" -#: ../../content/applications/productivity/sign/norway.rst:29 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Norway by incorporating the following features:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:14 +msgid "Click :guilabel:`New` and select :guilabel:`Spreadsheet`." msgstr "" -#: ../../content/applications/productivity/sign/norway.rst:57 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Norway:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:17 +msgid "Alternatively, from the :icon:`fa-folder-o` :guilabel:`All` folder, click :guilabel:`New` and select :guilabel:`Spreadsheet`, then select in which :guilabel:`Folder` the spreadsheet should be created." msgstr "" -#: ../../content/applications/productivity/sign/norway.rst:68 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Norway, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:21 +msgid "Click :guilabel:`Blank spreadsheet` or, to create a new spreadsheet using an existing :ref:`template `, select the relevant template." msgstr "" -#: ../../content/applications/productivity/sign/oman.rst:5 -msgid "Odoo Sign legality in Oman" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:23 +#: ../../content/applications/productivity/spreadsheet/get_started.rst:258 +msgid "Click :guilabel:`Create`." msgstr "" -#: ../../content/applications/productivity/sign/oman.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Oman." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:24 +msgid "Click on `Untitled spreadsheet` at the top of the screen to edit the name of the spreadsheet." msgstr "" -#: ../../content/applications/productivity/sign/oman.rst:11 -msgid "Legal framework for electronic signatures in Oman" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:27 +msgid "It is also possible to create a new spreadsheet by:" msgstr "" -#: ../../content/applications/productivity/sign/oman.rst:13 -msgid "In Oman, electronic signatures are regulated under the Electronic Transactions Law. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:29 +msgid "clicking :menuselection:`File -->` :icon:`os-clear-and-reload` :menuselection:`New` from the menu bar of an open spreadsheet; or" msgstr "" -#: ../../content/applications/productivity/sign/oman.rst:25 -msgid "How Odoo Sign complies with Omani regulations" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:31 +msgid ":doc:`inserting a list, pivot table, or chart from another Odoo app ` into a new spreadsheet directly from the app in question." msgstr "" -#: ../../content/applications/productivity/sign/oman.rst:27 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Oman by incorporating the following features:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:34 +msgid "In these cases, the new spreadsheet is saved in Odoo Documents in the :icon:`fa-hdd-o` :guilabel:`My Drive` personal folder." msgstr "" -#: ../../content/applications/productivity/sign/oman.rst:55 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Oman:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:42 +msgid "Spreadsheet templates allow you to quickly create spreadsheets without starting from scratch. For example, you could create a template for a monthly budget report or a quarterly sales commission report." msgstr "" -#: ../../content/applications/productivity/sign/oman.rst:66 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Oman, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:47 +msgid "Templates are available to all users on the database." msgstr "" -#: ../../content/applications/productivity/sign/pakistan.rst:5 -msgid "Odoo Sign legality in Pakistan" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:52 +msgid "Create a template" msgstr "" -#: ../../content/applications/productivity/sign/pakistan.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Pakistan." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:54 +msgid "Any spreadsheet can be saved as a template." msgstr "" -#: ../../content/applications/productivity/sign/pakistan.rst:11 -msgid "Legal framework for electronic signatures in Pakistan" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:56 +msgid "To create a template:" msgstr "" -#: ../../content/applications/productivity/sign/pakistan.rst:13 -msgid "In Pakistan, electronic signatures are regulated under the `Electronic Transactions Ordinance `_. The law governs the use of electronic records and signatures. The key points of the law include:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:58 +msgid "Open the relevant spreadsheet or :ref:`create a new one `." msgstr "" -#: ../../content/applications/productivity/sign/pakistan.rst:21 -msgid "**Certified electronic signatures**: special electronic signature that incorporates certificates issued by an accredited certification service provider authorized by the Certification Council as being capable of establishing authenticity and integrity of an electronic document." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:60 +msgid "From the menu bar, click :menuselection:`File -->` :icon:`os-save` :menuselection:`Save as template`. Modify the default :guilabel:`Template Name` if needed and click :guilabel:`Confirm`." msgstr "" -#: ../../content/applications/productivity/sign/pakistan.rst:26 -msgid "How Odoo Sign complies with Pakistani regulations" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:64 +msgid "Once a spreadsheet is saved as a template, any further changes to the open spreadsheet are saved only in that spreadsheet. To make changes to the template, you need to :ref:`edit the template `." msgstr "" -#: ../../content/applications/productivity/sign/pakistan.rst:28 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Pakistan by incorporating the following features:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:68 +msgid "You can also create a template by :ref:`making a copy of an existing template and editing it `." msgstr "" -#: ../../content/applications/productivity/sign/pakistan.rst:56 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Pakistan:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:74 +msgid "Use templates" msgstr "" -#: ../../content/applications/productivity/sign/pakistan.rst:67 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Pakistan, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:76 +msgid "To create a new spreadsheet using a template, open the Documents app and click :menuselection:`New --> Spreadsheet`. Select the relevant template and click :guilabel:`Create`." msgstr "" -#: ../../content/applications/productivity/sign/peru.rst:5 -msgid "Odoo Sign legality in Peru" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:79 +msgid "Alternatively, go to :menuselection:`Documents --> Configuration --> Spreadsheet Templates` then, on the line of the relevant template, click :icon:`fa-plus` :guilabel:`New spreadsheet`." msgstr "" -#: ../../content/applications/productivity/sign/peru.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Peru." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:83 +msgid "By default, the new spreadsheet inherits the name of the template, which is shown at the top of the screen. To rename the spreadsheet, click the name and edit it." msgstr "" -#: ../../content/applications/productivity/sign/peru.rst:11 -msgid "Legal framework for electronic signatures in Peru" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:89 +msgid "Manage and edit templates" msgstr "" -#: ../../content/applications/productivity/sign/peru.rst:13 -msgid "In Peru, electronic signatures are regulated under the `Peruvian Civil Code, Law 27269 – Law of Digital Signatures and Certificates `_, `Supreme Decree N° 052-2008-PCM – Regulation of the Law of Digital Signatures and Certificates `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:91 +msgid "Manage templates by going to :menuselection:`Documents --> Configuration --> Spreadsheet Templates`. Remove the :guilabel:`My Templates` :ref:`filter ` to view all templates in the database." msgstr "" -#: ../../content/applications/productivity/sign/peru.rst:23 -msgid "**Digital signatures generated with the official electronic signature infrastructure**: digital signature generated using a digital certificate supplied by a provider accredited as such by the National Institute for the Defense of Competition and the Protection of Intellectual Property." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:95 +msgid "Various actions are possible:" msgstr "" -#: ../../content/applications/productivity/sign/peru.rst:28 -msgid "How Odoo Sign complies with Peruvian regulations" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:97 +msgid "Copy an existing template by clicking :icon:`fa-clone` :guilabel:`Make a copy` at the right of the screen. The new template appears at the bottom of the list. Click the :guilabel:`Name` to edit it." msgstr "" -#: ../../content/applications/productivity/sign/peru.rst:30 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Peru by incorporating the following features:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:101 +msgid "Edit an existing template (including one you just copied) by clicking :icon:`fa-pencil` :guilabel:`Edit`, then making the required changes. Modifications are automatically saved." msgstr "" -#: ../../content/applications/productivity/sign/peru.rst:58 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Peru:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:105 +msgid "Delete a template by ticking the checkbox next to it, clicking :icon:`fa-cog` :guilabel:`Actions`, then :guilabel:`Delete`." msgstr "" -#: ../../content/applications/productivity/sign/peru.rst:69 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Peru, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:111 +msgid "Upload files" msgstr "" -#: ../../content/applications/productivity/sign/philippines.rst:5 -msgid "Odoo Sign legality in the Philippines" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:113 +msgid "Files in `.xlsx` or `.csv` format can be uploaded into Odoo Documents and opened with Odoo Spreadsheet. To do so:" msgstr "" -#: ../../content/applications/productivity/sign/philippines.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in the Philippines." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:116 +msgid "Open Odoo Documents and navigate to the section or folder where the spreadsheet should be saved." msgstr "" -#: ../../content/applications/productivity/sign/philippines.rst:11 -msgid "Legal framework for electronic signatures in the Philippines" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:117 +msgid "Click :guilabel:`New` and select :guilabel:`Upload`." msgstr "" -#: ../../content/applications/productivity/sign/philippines.rst:13 -msgid "In the Philippines, electronic signatures are regulated under the `Republic Act No. 8792 `_ and the `Electronic Commerce Act `_. The law governs the use of electronic records and signatures. The key points of the law include:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:118 +msgid "Select the relevant `.xlsx` or `.csv` file and click :guilabel:`Open`." msgstr "" -#: ../../content/applications/productivity/sign/philippines.rst:22 -msgid "**Philippine national public key infrastructure system**: the Philippine government operates an official PKI system known as the Philippine National Public Key Infrastructure. This system requires subscribers to adhere to specific obligations regarding the custody and proper use of digital certificates." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:119 +msgid "Click on the uploaded file." msgstr "" -#: ../../content/applications/productivity/sign/philippines.rst:28 -msgid "How Odoo Sign complies with Philippine regulations" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:120 +msgid "By default, the original file is deleted when it is opened with Odoo Spreadsheet. To preserve the original file in the same folder in Odoo Documents, disable :guilabel:`Send source file to trash`." msgstr "" -#: ../../content/applications/productivity/sign/philippines.rst:30 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of the Philippines by incorporating the following features:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:123 +msgid "Click :guilabel:`Open with Odoo Spreadsheet`." msgstr "" -#: ../../content/applications/productivity/sign/philippines.rst:58 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in the Philippines:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:125 +msgid "The file can now be fully edited in Odoo Spreadsheet." msgstr "" -#: ../../content/applications/productivity/sign/philippines.rst:69 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of the Philippines, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:130 +msgid "Manage spreadsheets" msgstr "" -#: ../../content/applications/productivity/sign/qatar.rst:5 -msgid "Odoo Sign legality in Qatar" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:132 +msgid "Users with :guilabel:`Editor` rights to a specific spreadsheet have various options for managing the spreadsheet via the :guilabel:`File` menu:" msgstr "" -#: ../../content/applications/productivity/sign/qatar.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Qatar." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:135 +msgid ":icon:`os-copy-file` :guilabel:`Make a copy`: creates a duplicate of the current spreadsheet with the same :ref:`regional settings ` (or locale)." msgstr "" -#: ../../content/applications/productivity/sign/qatar.rst:11 -msgid "Legal framework for electronic signatures in Qatar" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:138 +msgid ":icon:`fa-share-alt` :guilabel:`Share`: allows you to configure access rights to the spreadsheet and :guilabel:`Share` it with specific users or copy a shareable link. For a spreadsheet containing dynamic Odoo data that needs to be shared with a user who does not have the appropriate access rights to the data, it is possible to :guilabel:`Freeze and share` the spreadsheet." msgstr "" -#: ../../content/applications/productivity/sign/qatar.rst:13 -msgid "In Qatar, electronic signatures are regulated under the `Electronic Transactions and Commerce Law No. 16 of 2010 `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:145 +msgid ":ref:`Access and sharing `" msgstr "" -#: ../../content/applications/productivity/sign/qatar.rst:22 -msgid "**Certification authorities**: digital signature generated using a digital certificate supplied by a certified provider." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:147 +msgid ":icon:`fa-download` :guilabel:`Download`: downloads the spreadsheet in `.xlsx` format." msgstr "" -#: ../../content/applications/productivity/sign/qatar.rst:26 -msgid "How Odoo Sign complies with Qatari regulations" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:150 +msgid "When you download a spreadsheet in `.xlsx` format, any spreadsheet formulas that retrieve Odoo data from your database, e.g., via an :doc:`inserted list ` or via other :doc:`Odoo-specific functions `, are converted to the values they would have returned at the moment the spreadsheet was downloaded." msgstr "" -#: ../../content/applications/productivity/sign/qatar.rst:28 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Qatar by incorporating the following features:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:156 +msgid "Users with :guilabel:`Viewer` rights can also download a spreadsheet in `.xlsx` format." msgstr "" -#: ../../content/applications/productivity/sign/qatar.rst:56 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Qatar:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:158 +msgid ":icon:`fa-print` :guilabel:`Print`: prints a copy of the spreadsheet on a connected printer." msgstr "" -#: ../../content/applications/productivity/sign/qatar.rst:67 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Qatar, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:159 +msgid ":icon:`os-save` :guilabel:`Save as template`: allows the current spreadsheet to be used as a :ref:`template ` for future spreadsheets." msgstr "" -#: ../../content/applications/productivity/sign/russia.rst:5 -msgid "Odoo Sign legality in Russia" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:161 +msgid ":icon:`fa-trash` :guilabel:`Move to trash`: moves the spreadsheet to the trash folder of the Documents app" msgstr "" -#: ../../content/applications/productivity/sign/russia.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Russia." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:165 +msgid "Items in the trash folder are permanently deleted after 30 days." msgstr "" -#: ../../content/applications/productivity/sign/russia.rst:11 -msgid "Legal framework for electronic signatures in Russia" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:167 +msgid ":icon:`os-add-to-dashboard` :guilabel:`Add to dashboard`: :ref:`converts ` the current spreadsheet into an :doc:`Odoo dashboard <../dashboards>`." msgstr "" -#: ../../content/applications/productivity/sign/russia.rst:13 -msgid "In Russia, electronic signatures are regulated under the `Federal Law No. 63-FZ as of 6 April 2011 \"On electronic signature\" `_ and the `Civil Code of the Russian Federation `_. The law provides the foundation for the use and legal recognition of electronic signatures. The key points of the law include:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:170 +msgid ":icon:`os-version-history` :guilabel:`See version history`: provides read-only :ref:`access to previous versions ` of the current spreadsheet, which can be named and restored if needed." msgstr "" -#: ../../content/applications/productivity/sign/russia.rst:24 -msgid "**Qualified electronic signatures**: the law recognizes digital signature certificates that serve as proof of identity of an individual for a certain purpose that can be used in special cases to provide additional security. These certificates are issued by Certification Authorities and are required by law for the signature of specific acts." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:173 +msgid ":icon:`os-cog` :guilabel:`Settings`: allows you to view and change the :ref:`locale ` of the current spreadsheet." msgstr "" -#: ../../content/applications/productivity/sign/russia.rst:30 -msgid "How Odoo Sign complies with Russian regulations" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:181 +msgid "Odoo Spreadsheet automatically saves versions of spreadsheets as changes are made, allowing users with :guilabel:`Editor` rights to browse and restore previous versions." msgstr "" -#: ../../content/applications/productivity/sign/russia.rst:32 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Russia by incorporating the following features:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:184 +msgid "To access the version history of a spreadsheet, click :menuselection:`File -->` :icon:`os-version-history` :menuselection:`See version history` from the menu bar. Saved versions appear in a panel on the right of the spreadsheet. The name of the user who made the change is shown, as well as the date and time of the change." msgstr "" -#: ../../content/applications/productivity/sign/russia.rst:60 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Russia:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:189 +msgid "The following actions are possible:" msgstr "" -#: ../../content/applications/productivity/sign/russia.rst:71 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Russia, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:191 +msgid "**View an earlier version** in read-only format by clicking on the relevant version." msgstr "" -#: ../../content/applications/productivity/sign/saudi_arabia.rst:5 -msgid "Odoo Sign legality in Saudi Arabia" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:192 +msgid "**Restore an earlier version** by clicking :icon:`fa-ellipsis-v` :guilabel:`(vertical ellipsis)` then :guilabel:`Restore this version`." msgstr "" -#: ../../content/applications/productivity/sign/saudi_arabia.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Saudi Arabia." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:194 +msgid "**Copy an earlier version** by clicking :icon:`fa-ellipsis-v` :guilabel:`(vertical ellipsis)` then :menuselection:`Make a copy`. A copy of the version opens as a new spreadsheet." msgstr "" -#: ../../content/applications/productivity/sign/saudi_arabia.rst:11 -msgid "Legal framework for electronic signatures in Saudi Arabia" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:196 +msgid "**Create named versions** by clicking on the date and time of the relevant version and entering the desired name. The date and time of the version are then displayed below the new name." msgstr "" -#: ../../content/applications/productivity/sign/saudi_arabia.rst:13 -msgid "In Saudi Arabia, electronic signatures are regulated under the `Electronic Transactions Law `_ and the Regulation No. 1/1429. The law governs transactions performed through electronic means and the use of electronic signatures. The key points of the law include:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:200 +msgid "When viewing an earlier, read-only version of a spreadsheet, the following actions are still possible:" msgstr "" -#: ../../content/applications/productivity/sign/saudi_arabia.rst:21 -msgid "**Certificate-based digital signatures**: the law recognizes electronic signatures supported by digital certificates issued by accredited Certification Service Provider." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:203 +msgid "Search the spreadsheet by clicking :menuselection:`Edit -->` :icon:`fa-search` :menuselection:`Find and replace` or using the shortcut `Ctrl` + `H`." msgstr "" -#: ../../content/applications/productivity/sign/saudi_arabia.rst:25 -msgid "How Odoo Sign complies with Saudi regulations" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:205 +msgid "Copy an individual cell or selected area by clicking :menuselection:`Edit -->` :icon:`fa-clipboard` :menuselection:`Copy` or using the shortcut `Ctrl` + `C`." msgstr "" -#: ../../content/applications/productivity/sign/saudi_arabia.rst:27 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Saudi Arabia by incorporating the following features:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:211 +msgid "Regional settings" msgstr "" -#: ../../content/applications/productivity/sign/saudi_arabia.rst:55 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Saudi Arabia:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:213 +msgid "To ensure data is displayed consistently for all users, the regional settings (or locale) of a spreadsheet, are managed at spreadsheet level. This locale affects the following settings and formats:" msgstr "" -#: ../../content/applications/productivity/sign/saudi_arabia.rst:66 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Saudi Arabia, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:217 +msgid "thousand and decimal separators" msgstr "" -#: ../../content/applications/productivity/sign/singapore.rst:5 -msgid "Odoo Sign legality in Singapore" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:218 +msgid "date and time formats" msgstr "" -#: ../../content/applications/productivity/sign/singapore.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Singapore." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:219 +msgid "first day of the week" msgstr "" -#: ../../content/applications/productivity/sign/singapore.rst:11 -msgid "Legal framework for electronic signatures in Singapore" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:221 +msgid "By default, a new spreadsheet inherits the regional settings of the user who created it. For example, any spreadsheets created by a user whose language is set to :guilabel:`French (BE) / Français (BE)` will follow Belgian French conventions." msgstr "" -#: ../../content/applications/productivity/sign/singapore.rst:13 -msgid "In Singapore, electronic signatures are regulated under the `Electronic Transactions Act `_. The law recognizes the use of electronic documents and electronic signatures for the execution of contracts and other transactions. The key points of the law include:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:225 +msgid "A spreadsheet's locale can be viewed and changed at any time by a user with :guilabel:`Editor` rights. To view the locale of a spreadsheet, click :menuselection:`File -->` :icon:`os-cog` :menuselection:`Settings` from the menu bar. The :guilabel:`Spreadsheet settings` panel opens on the right of the spreadsheet. To change the locale, select the appropriate locale from the dropdown." msgstr "" -#: ../../content/applications/productivity/sign/singapore.rst:23 -msgid "How Odoo Sign complies with Singapore regulations" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:231 +msgid "When you open a spreadsheet that has a different locale to that of your user profile, a blue :icon:`fa-globe` :guilabel:`(globe)` icon appears at the top right of the spreadsheet. Hovering over the icon reveals a warning message that indicates the spreadsheet locale and highlights formats that differ." msgstr "" - -#: ../../content/applications/productivity/sign/singapore.rst:25 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Singapore by incorporating the following features:" + +#: ../../content/applications/productivity/spreadsheet/get_started.rst:-1 +msgid "Warning about difference between user and spreadsheet locale" msgstr "" -#: ../../content/applications/productivity/sign/singapore.rst:53 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Singapore:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:239 +msgid "If no :icon:`fa-globe` :guilabel:`(globe)` icon is shown, this means the spreadsheet's locale is the same as that of your user profile." msgstr "" -#: ../../content/applications/productivity/sign/singapore.rst:64 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Singapore, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:245 +msgid "Convert a spreadsheet into a dashboard" msgstr "" -#: ../../content/applications/productivity/sign/south_africa.rst:5 -msgid "Odoo Sign legality in South Africa" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:247 +msgid "A user with the appropriate :ref:`access rights ` can convert an Odoo spreadsheet into a dashboard that is then accessible via :doc:`Odoo Dashboards <../../../applications/productivity/dashboards>`. To do so:" msgstr "" -#: ../../content/applications/productivity/sign/south_africa.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in South Africa." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:251 +msgid "Click :menuselection:`File -->` :icon:`os-add-to-dashboard` :menuselection:`Add to dashboard` from the menu bar." msgstr "" -#: ../../content/applications/productivity/sign/south_africa.rst:11 -msgid "Legal framework for electronic signatures in South Africa" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:253 +msgid "Enter the :guilabel:`Dashboard Name`." msgstr "" -#: ../../content/applications/productivity/sign/south_africa.rst:13 -msgid "In South Africa, electronic signatures are regulated under the `Electronic Communications and Transactions Act `_. The law governs transactions performed through electronic means and the use of digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:254 +msgid "Select the relevant :guilabel:`Dashboard Section` from the dropdown or, to create a new dashboard section, type the name of the new section, then click :guilabel:`Create`." msgstr "" -#: ../../content/applications/productivity/sign/south_africa.rst:22 -msgid "**Advance electronic signatures**: in some cases, electronic signatures must be certified by an electronic signature certification authority." +#: ../../content/applications/productivity/spreadsheet/get_started.rst:256 +msgid "If necessary, modify the :guilabel:`Access Groups` to determine which :ref:`user groups ` can access the dashboard." msgstr "" -#: ../../content/applications/productivity/sign/south_africa.rst:26 -msgid "How Odoo Sign complies with South African regulations" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:261 +msgid "By default, the first tab of the spreadsheet serves as the front end of the dashboard." msgstr "" -#: ../../content/applications/productivity/sign/south_africa.rst:28 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of South Africa by incorporating the following features:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:262 +msgid "It is also possible to convert a spreadsheet to a dashboard from within the :ref:`Dashboard configuration settings `, by directly adding the spreadsheet to an existing or new dashboard section." msgstr "" -#: ../../content/applications/productivity/sign/south_africa.rst:56 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in South Africa:" +#: ../../content/applications/productivity/spreadsheet/get_started.rst:265 +msgid "After a spreadsheet has been converted to a dashboard, it is deleted from Odoo Documents. Any subsequent :ref:`modifications ` need to be made via Odoo Dashboards." msgstr "" -#: ../../content/applications/productivity/sign/south_africa.rst:67 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of South Africa, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/spreadsheet/insert.rst:3 +msgid "Insert and link to Odoo data" msgstr "" -#: ../../content/applications/productivity/sign/south_korea.rst:5 -msgid "Odoo Sign legality in South Korea" +#: ../../content/applications/productivity/spreadsheet/insert.rst:5 +msgid "Several elements from your Odoo database can be inserted into an Odoo spreadsheet, namely:" msgstr "" -#: ../../content/applications/productivity/sign/south_korea.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in South Korea." +#: ../../content/applications/productivity/spreadsheet/insert.rst:7 +msgid "lists, i.e., data from a :ref:`list view `" msgstr "" -#: ../../content/applications/productivity/sign/south_korea.rst:11 -msgid "Legal framework for electronic signatures in South Korea" +#: ../../content/applications/productivity/spreadsheet/insert.rst:8 +msgid "pivot tables, i.e., data from a :ref:`pivot view `" msgstr "" -#: ../../content/applications/productivity/sign/south_korea.rst:13 -msgid "In South Korea, electronic signatures are regulated under the `Digital Signature Act `_ and the `Framework Act on Electronic Documents and Transactions of Korea `_. The law governs transactions performed through electronic means and the use of electronic signatures. The key points of the law include:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:9 +msgid "charts, i.e., data from a :ref:`graph view `" msgstr "" -#: ../../content/applications/productivity/sign/south_korea.rst:22 -msgid "**Electronic signature certification services**: the law recognizes digital signature certificates or “seals” that serve as proof of identity of an individual for a certain purpose that can be used in special cases to provide additional security. These certificates are issued by Certification Authorities and are required by law for the signature of specific acts." +#: ../../content/applications/productivity/spreadsheet/insert.rst:12 +msgid "Lists, pivot tables, and charts from different apps and models can be inserted into the same spreadsheet." msgstr "" -#: ../../content/applications/productivity/sign/south_korea.rst:28 -msgid "How Odoo Sign complies with South Korean regulations" +#: ../../content/applications/productivity/spreadsheet/insert.rst:15 +msgid "Each time a list, pivot table, or chart is inserted, a :ref:`data source ` is created. This data source connects the spreadsheet to your Odoo database, retrieving up-to-date information every time the spreadsheet is opened, the browser page is reloaded, or data is manually refreshed by clicking :menuselection:`Data -->` :icon:`os-refresh-data` :menuselection:`Refresh all data` from the menu bar." msgstr "" -#: ../../content/applications/productivity/sign/south_korea.rst:30 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of South Korea by incorporating the following features:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:21 +msgid ":ref:`Inserted lists ` and :ref:`inserted pivot tables ` use formulas with Odoo-specific :ref:`list functions ` and :ref:`pivot table functions ` to retrieve data from your database and can be further manipulated in the spreadsheet. Certain elements of :ref:`inserted charts ` can be modified, but no data manipulation or computation is possible." msgstr "" -#: ../../content/applications/productivity/sign/south_korea.rst:58 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in South Korea:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:29 +msgid "If you intend to use :doc:`global filters ` to dynamically filter Odoo data in a spreadsheet or dashboard, do not use the same conditions to establish the initial list, pivot table, or chart in your database." msgstr "" -#: ../../content/applications/productivity/sign/south_korea.rst:69 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of South Korea, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/spreadsheet/insert.rst:33 +msgid "It is also possible to:" msgstr "" -#: ../../content/applications/productivity/sign/switzerland.rst:5 -msgid "Odoo Sign legality in Switzerland" +#: ../../content/applications/productivity/spreadsheet/insert.rst:35 +msgid ":ref:`add clickable links ` to Odoo menu items, to other sheets of the same spreadsheet, or to external URLs" msgstr "" -#: ../../content/applications/productivity/sign/switzerland.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Switzerland." +#: ../../content/applications/productivity/spreadsheet/insert.rst:37 +msgid ":ref:`insert financial data ` from your Odoo database using Odoo-specific spreadsheet :doc:`functions `" msgstr "" -#: ../../content/applications/productivity/sign/switzerland.rst:11 -msgid "Legal framework for electronic signatures in Switzerland" +#: ../../content/applications/productivity/spreadsheet/insert.rst:39 +msgid "paste data from another Odoo spreadsheet, Excel spreadsheet, or Google Sheet directly into any Odoo spreadsheet" msgstr "" -#: ../../content/applications/productivity/sign/switzerland.rst:13 -msgid "In Switzerland, electronic signatures are regulated under the `Federal Act on Electronic Signatures `_ and the Swiss Code of Obligations. The law governs transactions performed through electronic means and the use of electronic signatures. The key points of the law include:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:45 +msgid "Data sources" msgstr "" -#: ../../content/applications/productivity/sign/switzerland.rst:22 -msgid "**Qualified electronic signatures**: the law recognizes electronic signatures supported by digital certificates issued by accredited Certification Service Providers mandatory in some cases." +#: ../../content/applications/productivity/spreadsheet/insert.rst:47 +msgid "Data sources, which are created each time a :ref:`list `, :ref:`pivot table `, or :ref:`chart ` is inserted into an Odoo spreadsheet, connect the spreadsheet and the relevant :doc:`model <../../studio/models_modules_apps>` in your database, ensuring the data stays up-to-date and allowing you to :ref:`access the underlying data `." msgstr "" -#: ../../content/applications/productivity/sign/switzerland.rst:26 -msgid "How Odoo Sign complies with Swiss regulations" +#: ../../content/applications/productivity/spreadsheet/insert.rst:53 +msgid "Each data source is defined by properties that can be accessed via the :guilabel:`Data` menu. Data sources are identified by their respective :icon:`oi-view-pivot` :guilabel:`(pivot table)`, :icon:`oi-view-list` :guilabel:`(list)` or :icon:`fa-bar-chart` :guilabel:`(chart)` icon, followed by their ID and name, e.g., :icon:`oi-view-pivot` *(#1) Sales Analysis by Product*." msgstr "" -#: ../../content/applications/productivity/sign/switzerland.rst:28 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Switzerland by incorporating the following features:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:-1 +msgid "Data sources listed in Data menu" msgstr "" -#: ../../content/applications/productivity/sign/switzerland.rst:56 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Switzerland:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:61 +msgid "Clicking on a data source opens the related properties in a panel on the right of the spreadsheet." msgstr "" -#: ../../content/applications/productivity/sign/switzerland.rst:67 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Switzerland, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/spreadsheet/insert.rst:64 +msgid "The properties panel can also be opened by right-clicking any cell of an inserted list or pivot table, then clicking :icon:`oi-view-list` :guilabel:`See list properties` or :icon:`oi-view-pivot` :guilabel:`See pivot properties`, or by clicking the :icon:`fa-bars` :guilabel:`(menu)` icon at the top right of an inserted chart, then clicking :icon:`fa-pencil-square-o` :guilabel:`Edit`." msgstr "" -#: ../../content/applications/productivity/sign/thailand.rst:5 -msgid "Odoo Sign legality in Thailand" +#: ../../content/applications/productivity/spreadsheet/insert.rst:69 +msgid "Once the properties of a specific data source are open, they remain open even when navigating between spreadsheet tabs. To close the properties panel, click the :icon:`fa-times` :guilabel:`(close)` icon at the top right of the panel." msgstr "" -#: ../../content/applications/productivity/sign/thailand.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Thailand." +#: ../../content/applications/productivity/spreadsheet/insert.rst:72 +msgid "Click :icon:`fa-thumb-tack` :guilabel:`(pin)` at the top of the properties panel to allow another panel, such as the :doc:`global filters ` panel, to open beside it." msgstr "" -#: ../../content/applications/productivity/sign/thailand.rst:11 -msgid "Legal framework for electronic signatures in Thailand" +#: ../../content/applications/productivity/spreadsheet/insert.rst:77 +msgid "Deleting an inserted list or pivot table, or deleting the sheet into which it was inserted, does not delete the underlying data source. The data source of an inserted list or pivot table can only be deleted via the data source's properties." msgstr "" -#: ../../content/applications/productivity/sign/thailand.rst:13 -msgid "In Thailand, electronic signatures are regulated under the `Electronic Transaction Act B.E. 2544 `_. The law governs transactions performed through electronic means and the use of digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:81 +msgid "A warning in the :guilabel:`Data` menu identifies any data sources for which the corresponding list or pivot table no longer appears in the spreadsheet." msgstr "" -#: ../../content/applications/productivity/sign/thailand.rst:23 -msgid "How Odoo Sign complies with Thai regulations" +#: ../../content/applications/productivity/spreadsheet/insert.rst:-1 +msgid "Warning message about unused list" msgstr "" -#: ../../content/applications/productivity/sign/thailand.rst:25 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Thailand by incorporating the following features:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:87 +msgid "Deleting an inserted chart, on the other hand, also deletes the underlying data source." msgstr "" -#: ../../content/applications/productivity/sign/thailand.rst:53 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Thailand:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:92 +msgid "Accessing underlying data" msgstr "" -#: ../../content/applications/productivity/sign/thailand.rst:64 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Thailand, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/spreadsheet/insert.rst:94 +msgid "The underlying data of an inserted list, pivot table, or chart can be accessed at any time. To view:" msgstr "" -#: ../../content/applications/productivity/sign/turkey.rst:5 -msgid "Odoo Sign legality in Turkey" +#: ../../content/applications/productivity/spreadsheet/insert.rst:96 +msgid "an individual record of an **inserted list**, right-click any cell of the relevant row, then select :icon:`fa-eye` :guilabel:`See record`" msgstr "" -#: ../../content/applications/productivity/sign/turkey.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Turkey." +#: ../../content/applications/productivity/spreadsheet/insert.rst:98 +msgid "a list of records referenced by an individual cell of an **inserted pivot table**, right-click the cell, then select :icon:`fa-eye` :guilabel:`See records`" msgstr "" -#: ../../content/applications/productivity/sign/turkey.rst:11 -msgid "Legal framework for electronic signatures in Turkey" +#: ../../content/applications/productivity/spreadsheet/insert.rst:100 +msgid "a list of records represented by a data point of an **inserted chart**, click the data point." msgstr "" -#: ../../content/applications/productivity/sign/turkey.rst:13 -msgid "In Turkey, electronic signatures are regulated under the `Electronic Signature Law No.5070 `_, `Code of Obligations No. 6098 `_, among other secondary regulations. The law governs transactions performed through electronic means and the use of electronic signatures. The key points of the law include:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:103 +msgid "Use the middle mouse button or `Ctrl` + left-click (Microsoft/Linux), or `Command` + left-click (Mac OS) to open the results in a new browser tab." msgstr "" -#: ../../content/applications/productivity/sign/turkey.rst:23 -msgid "**Electronic certificate service provider**: the law recognizes electronic signatures supported by digital certificates issued by accredited Certification Service Provider." +#: ../../content/applications/productivity/spreadsheet/insert.rst:106 +msgid "To return to the spreadsheet after viewing the underlying data, click the name of the spreadsheet in the breadcrumbs at the top of the page." msgstr "" -#: ../../content/applications/productivity/sign/turkey.rst:27 -msgid "How Odoo Sign complies with Turkish regulations" +#: ../../content/applications/productivity/spreadsheet/insert.rst:112 +msgid "Insert a list" msgstr "" -#: ../../content/applications/productivity/sign/turkey.rst:29 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Turkey by incorporating the following features:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:115 +msgid "Before inserting a list in a spreadsheet, ensure the list is tailored to your needs. Consider which fields should be visible as well as how the records are filtered and/or sorted. This can impact both the loading time and the user-friendliness of your spreadsheet." msgstr "" -#: ../../content/applications/productivity/sign/turkey.rst:57 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Turkey:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:119 +msgid "To insert a list:" msgstr "" -#: ../../content/applications/productivity/sign/turkey.rst:68 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Turkey, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/spreadsheet/insert.rst:121 +msgid "With the relevant list view open in your database, click the :icon:`fa-cog` :guilabel:`(Actions)` icon beside the name of the view, then :menuselection:`Spreadsheet -->` :icon:`oi-view-list` :menuselection:`Insert list in spreadsheet`." msgstr "" -#: ../../content/applications/productivity/sign/ukraine.rst:5 -msgid "Odoo Sign legality in Ukraine" +#: ../../content/applications/productivity/spreadsheet/insert.rst:126 +msgid "To insert only specific records, select the relevant records, click the :icon:`fa-cog` :guilabel:`Actions` button that appears at the top center of the screen, then :icon:`oi-view-list` :guilabel:`Insert in spreadsheet`." msgstr "" -#: ../../content/applications/productivity/sign/ukraine.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Ukraine." +#: ../../content/applications/productivity/spreadsheet/insert.rst:130 +msgid "In the window that opens, edit the :guilabel:`Name of the list` if needed." msgstr "" -#: ../../content/applications/productivity/sign/ukraine.rst:11 -msgid "Legal framework for electronic signatures in Ukraine" +#: ../../content/applications/productivity/spreadsheet/insert.rst:132 +msgid "The list name is used in the sheet name and in the :ref:`list properties `." msgstr "" -#: ../../content/applications/productivity/sign/ukraine.rst:13 -msgid "In Ukraine, electronic signatures are regulated under the Law of Ukraine No. 852-IV \"On Electronic Digital Signature. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:0 +msgid "Inserting a list in a spreadsheet" msgstr "" -#: ../../content/applications/productivity/sign/ukraine.rst:25 -msgid "How Odoo Sign complies with Ukrainian regulations" +#: ../../content/applications/productivity/spreadsheet/insert.rst:138 +msgid "Edit the number of records, i.e., rows, to be inserted if needed." msgstr "" -#: ../../content/applications/productivity/sign/ukraine.rst:27 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Ukraine by incorporating the following features:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:140 +msgid "By default, the number shown is the number of records visible on the first page of the list. For example, if the list contains 150 records but only 80 are visible, this field will show 80." msgstr "" -#: ../../content/applications/productivity/sign/ukraine.rst:55 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Ukraine:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:144 +msgid "While the data in your list is kept up to date thanks to the connection to your database, an inserted list will not automatically expand to accommodate new records, e.g., a new product category or a new salesperson." msgstr "" -#: ../../content/applications/productivity/sign/ukraine.rst:66 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Ukraine, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/spreadsheet/insert.rst:148 +msgid "If you anticipate new records being added, consider adding extra rows when inserting the list. Records/rows can also be :ref:`added manually ` after the spreadsheet has been inserted." msgstr "" -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:5 -msgid "Odoo Sign legality in the United Arab Emirates" +#: ../../content/applications/productivity/spreadsheet/insert.rst:153 +msgid "Your company currently has ten product categories and you insert this list in a spreadsheet. If an 11th product category is created and your inserted list only had ten rows, the new category will be inserted in the appropriate position in the spreadsheet, thereby removing an existing category." msgstr "" -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in the United Arab Emirates." +#: ../../content/applications/productivity/spreadsheet/insert.rst:158 +msgid "One way to avoid this is to :ref:`add extra rows ` when inserting the list." msgstr "" -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:11 -msgid "Legal framework for electronic signatures in the United Arab Emirates" +#: ../../content/applications/productivity/spreadsheet/insert.rst:161 +msgid "Click :guilabel:`Blank spreadsheet` to create a new spreadsheet, or select in which existing spreadsheet the list should be inserted." msgstr "" -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:13 -msgid "In the United Arab Emirates, electronic signatures are regulated under the `Federal Decree by Law No. 46 of 2021 on Electronic Transactions and Trust Services `_, `ADGM Electronic Transactions Regulations 202 `_, `DIFC Law No. 2 of 2017 `_. The law governs transactions performed through electronic means and the use of digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:165 +msgid "When inserting a list into a new spreadsheet, the spreadsheet is saved in the **Odoo Documents** app in the :icon:`fa-hdd-o` :guilabel:`My Drive` personal folder." msgstr "" -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:24 -msgid "**Qualified electronic signature**: the law recognizes electronic signatures supported by digital certificates issued by a qualified trust service provider." +#: ../../content/applications/productivity/spreadsheet/insert.rst:168 +#: ../../content/applications/productivity/spreadsheet/insert.rst:393 +#: ../../content/applications/productivity/spreadsheet/insert.rst:565 +#: ../../content/applications/productivity/spreadsheet/insert.rst:631 +msgid "Click :guilabel:`Confirm`." msgstr "" -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:28 -msgid "How Odoo Sign complies with Emirati regulations" +#: ../../content/applications/productivity/spreadsheet/insert.rst:170 +msgid "The list is inserted into a new sheet in the spreadsheet. The sheet tab in the bottom bar shows the name of the list followed by the list ID, e.g., *Quotations by Total (List #1)*. A panel on the right side of the screen shows the :ref:`list properties `." msgstr "" -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:30 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of the United Arab Emirates by incorporating the following features:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:175 +msgid "To sever the link between an inserted list and your database, select the entire list, right-click and select :icon:`fa-clipboard` :guilabel:`Copy` then right-click again and select :menuselection:`Paste special --> Paste as value`." msgstr "" -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:58 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in the United Arab Emirates:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:178 +msgid "Do not modify the list ID in the sheet name, as the inserted list retains this ID for the lifetime of the spreadsheet. This list ID is used in the :ref:`spreadsheet functions ` that retrieve data from your database." msgstr "" -#: ../../content/applications/productivity/sign/united_arab_emirates.rst:69 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of the United Arab Emirates, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/spreadsheet/insert.rst:185 +msgid "List functions" msgstr "" -#: ../../content/applications/productivity/sign/united_kingdom.rst:5 -msgid "Odoo Sign legality in the United Kingdom" +#: ../../content/applications/productivity/spreadsheet/insert.rst:187 +msgid "When a list is inserted into a spreadsheet, the following :doc:`functions ` are used to retrieve the header and field values, respectively:" msgstr "" -#: ../../content/applications/productivity/sign/united_kingdom.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in the United Kingdom." +#: ../../content/applications/productivity/spreadsheet/insert.rst:195 +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:78 +msgid "The arguments of the function are as follows:" msgstr "" -#: ../../content/applications/productivity/sign/united_kingdom.rst:11 -msgid "Legal framework for electronic signatures in the United Kingdom" +#: ../../content/applications/productivity/spreadsheet/insert.rst:197 +msgid "`list_id`: the ID assigned when the list is inserted. The first list inserted into a spreadsheet is assigned list ID `1`, the second, list ID `2`, etc." msgstr "" -#: ../../content/applications/productivity/sign/united_kingdom.rst:13 -msgid "In the United Kingdom, electronic signatures are regulated under Electronic Communications Act (ECA), and the `UK version `_ of Regulation (EU) No 910/2014 of the European Parliament and of the Council of 23 July 2014 on electronic identification and trust services for electronic transactions in the internal market (eIDAS) as amended by the `Electronic Identification and Trust Services for Electronic Transactions `_ (Amendment) (EU Exit) Regulations 2019 (SI 2019/89) (the “UK eIDAS Regulation”). The law provides the foundation for the use and legal recognition of electronic signatures. The key points of the law include:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:199 +msgid "`index`: identifies the line on which the record appeared in the list before insertion. The first line has an index of `1`, the second an index of `2`, etc." msgstr "" -#: ../../content/applications/productivity/sign/united_kingdom.rst:26 -msgid "**Digital signature certificates**: the law recognizes digital signature certificates that serve as proof of identity of an individual for a certain purpose that can be used in special cases to provide additional security. These certificates are issued by Certification Authorities and are required by law for the signature of specific acts." +#: ../../content/applications/productivity/spreadsheet/insert.rst:201 +msgid "`field_name`: the technical name of the field." msgstr "" -#: ../../content/applications/productivity/sign/united_kingdom.rst:32 -msgid "How Odoo Sign complies with the United Kingdom regulations" +#: ../../content/applications/productivity/spreadsheet/insert.rst:204 +msgid "Clicking on an individual cell displays the related formula, if relevant, in the formula bar. To display all the formulas of a spreadsheet at the same time, click :menuselection:`View -->` :icon:`fa-eye` :menuselection:`Show --> Formulas` on the menu bar. The example below shows the functions used to retrieve list headers and values." msgstr "" -#: ../../content/applications/productivity/sign/united_kingdom.rst:34 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of the United Kingdom by incorporating the following features:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:0 +msgid "Viewing formulas of spreadsheet cells" msgstr "" -#: ../../content/applications/productivity/sign/united_kingdom.rst:62 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in the United Kingdom:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:215 +msgid "List properties" msgstr "" -#: ../../content/applications/productivity/sign/united_kingdom.rst:73 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of the United Kingdom, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/spreadsheet/insert.rst:217 +msgid "The list properties appear on the right side of the screen when a list is inserted. They can be accessed at any time via the :guilabel:`Data` menu by clicking the relevant list, as prefaced by the :icon:`oi-view-list` :guilabel:`(list)` icon, or by right-clicking anywhere on the list and clicking :icon:`oi-view-list` :guilabel:`See list properties`." msgstr "" -#: ../../content/applications/productivity/sign/uzbekistan.rst:5 -msgid "Odoo Sign legality in Uzbekistan" +#: ../../content/applications/productivity/spreadsheet/insert.rst:222 +msgid "The following list properties are shown, some of which can be edited:" msgstr "" -#: ../../content/applications/productivity/sign/uzbekistan.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Uzbekistan." +#: ../../content/applications/productivity/spreadsheet/insert.rst:224 +msgid ":guilabel:`List #`: the list ID. List IDs are assigned sequentially as additional lists are inserted into the spreadsheet." msgstr "" -#: ../../content/applications/productivity/sign/uzbekistan.rst:11 -msgid "Legal framework for electronic signatures in Uzbekistan" +#: ../../content/applications/productivity/spreadsheet/insert.rst:226 +msgid ":guilabel:`List Name`: the name of the list. Edit this if needed. Note that editing the list name in the list properties does not modify the list name shown in the sheet name, and vice versa." msgstr "" -#: ../../content/applications/productivity/sign/uzbekistan.rst:13 -msgid "In Uzbekistan, electronic signatures are regulated under the `Law On Electronic Digital Signature `_. The law establishes the legal basis for acknowledging electronic records, contracts, and digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:228 +#: ../../content/applications/productivity/spreadsheet/insert.rst:460 +msgid ":guilabel:`Model`: the model from which the data has been extracted." msgstr "" -#: ../../content/applications/productivity/sign/uzbekistan.rst:22 -msgid "**Electronic digital signature keys**: digital signature generated using a digital certificate supplied by a qualified provider." +#: ../../content/applications/productivity/spreadsheet/insert.rst:229 +msgid ":guilabel:`Columns`: the fields of the model that were visible when the list was inserted." msgstr "" -#: ../../content/applications/productivity/sign/uzbekistan.rst:26 -msgid "How Odoo Sign complies with Uzbekistani regulations" +#: ../../content/applications/productivity/spreadsheet/insert.rst:230 +#: ../../content/applications/productivity/spreadsheet/insert.rst:476 +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:70 +msgid ":guilabel:`Domain`: the rules used to determine which records are shown. Click :ref:`Edit domain ` to add or edit rules." msgstr "" -#: ../../content/applications/productivity/sign/uzbekistan.rst:28 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Uzbekistan by incorporating the following features:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:234 +#: ../../content/applications/productivity/spreadsheet/insert.rst:480 +msgid "When :doc:`global filters ` are used, this domain is combined with the selected values of the global filter before the data is loaded into the spreadsheet." msgstr "" -#: ../../content/applications/productivity/sign/uzbekistan.rst:56 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Uzbekistan:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:237 +msgid ":guilabel:`Sorting`: how the data is sorted, if applicable. To add a sorting rule, click :guilabel:`Add`, select the field, then choose whether sorting should be :guilabel:`Ascending` or :guilabel:`Descending`. Delete a sorting rule by clicking the :icon:`fa-times` :guilabel:`(delete)` icon." msgstr "" -#: ../../content/applications/productivity/sign/uzbekistan.rst:67 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Uzbekistan, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/spreadsheet/insert.rst:242 +msgid "To :ref:`duplicate ` or :ref:`delete ` a list's data source, click the :icon:`fa-cog` :guilabel:`(gear)` icon, then click :icon:`fa-clone` :guilabel:`Duplicate` or :icon:`fa-trash` :guilabel:`Delete` as relevant." msgstr "" -#: ../../content/applications/productivity/sign/vietnam.rst:5 -msgid "Odoo Sign legality in Vietnam" +#: ../../content/applications/productivity/spreadsheet/insert.rst:250 +msgid "Manage an inserted list" msgstr "" -#: ../../content/applications/productivity/sign/vietnam.rst:7 -msgid ":doc:`Odoo Sign <../sign>` is your trusted partner for secure, efficient, and legally compliant electronic signatures in Vietnam." +#: ../../content/applications/productivity/spreadsheet/insert.rst:252 +msgid "After a list from an Odoo database has been inserted into an Odoo spreadsheet, you can:" msgstr "" -#: ../../content/applications/productivity/sign/vietnam.rst:11 -msgid "Legal framework for electronic signatures in Vietnam" +#: ../../content/applications/productivity/spreadsheet/insert.rst:254 +msgid ":ref:`add records `, i.e., rows" msgstr "" -#: ../../content/applications/productivity/sign/vietnam.rst:13 -msgid "In Vietnam, electronic signatures are regulated under the `Civil Code No. 91/2015/QH132015 `_, the `Law on E-Transactions No. 51/2005/QH11 `_. The law governs transactions performed through electronic means and the use of digital signatures. The key points of the law include:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:255 +msgid ":ref:`add fields `, i.e., columns" msgstr "" -#: ../../content/applications/productivity/sign/vietnam.rst:23 -msgid "**Certified electronic signatures**: the law regulates the use of digital certificates that guarantee security and integrity of the signature. In some cases, electronic signatures must be certified by an electronic signature certification service provide" +#: ../../content/applications/productivity/spreadsheet/insert.rst:256 +msgid ":ref:`duplicate the list ` to create a new, identical data source" msgstr "" -#: ../../content/applications/productivity/sign/vietnam.rst:28 -msgid "How Odoo Sign complies with Vietnamese regulations" +#: ../../content/applications/productivity/spreadsheet/insert.rst:258 +msgid ":ref:`delete the list and its underlying data source `" msgstr "" -#: ../../content/applications/productivity/sign/vietnam.rst:30 -msgid "Odoo Sign ensures full compliance with the Electronic Signature Law of Vietnam by incorporating the following features:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:263 +msgid "Add records/rows to a list" msgstr "" -#: ../../content/applications/productivity/sign/vietnam.rst:58 -msgid "While Odoo Sign is broadly applicable, there are certain exceptions where electronic signatures may not be suitable or legally recognized in Vietnam:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:265 +msgid "To add records to a list, use one of the following methods:" msgstr "" -#: ../../content/applications/productivity/sign/vietnam.rst:69 -msgid "The information provided on this page is for general informational purposes only and does not constitute legal advice. While Odoo Sign complies with the Electronic Signature Law of Vietnam, users should consult with legal professionals to ensure specific document types and use cases meet all legal requirements. Compliance with additional industry-specific regulations may also be necessary." +#: ../../content/applications/productivity/spreadsheet/insert.rst:267 +msgid "Select the last row of the table, then hover over the blue square until the plus icon appears. Click and drag down to add the desired number of rows. The cells of the new rows are populated with the :ref:`appropriate formula ` to retrieve the list values. If there is corresponding data in your database, the cells are populated." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:5 -msgid "Spreadsheet" +#: ../../content/applications/productivity/spreadsheet/insert.rst:0 +msgid "Add records by dragging the cell down" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:16 -msgid "**Odoo Spreadsheet** allows you to organize, manipulate, analyze, and visualize data. It offers similar functionality to other spreadsheet solutions with the added benefit of integrating directly with your Odoo database." +#: ../../content/applications/productivity/spreadsheet/insert.rst:275 +msgid "Position your cursor in the top left cell of the sheet, click :menuselection:`Data --> Re-insert list` from the menu bar, then select the appropriate list. In the pop-up window, indicate the number of records to insert and click :guilabel:`Confirm`. An updated list is inserted, overwriting the previous list." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:20 -msgid "With Odoo Spreadsheet, you can:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:281 +msgid "The above methods can also be used to add additional blank rows to your spreadsheet table. This may be useful for lists where you expect additional records to be generated in your database, e.g., new product categories or new salespersons." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:22 -msgid ":ref:`create spreadsheets ` or :ref:`upload files ` and open them with Odoo Spreadsheet" +#: ../../content/applications/productivity/spreadsheet/insert.rst:288 +msgid "Add fields/columns to a list" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:24 -msgid ":doc:`create templates `" +#: ../../content/applications/productivity/spreadsheet/insert.rst:290 +msgid "To add fields/columns to a list:" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:25 -msgid ":doc:`use functions, including Odoo-specific functions `" +#: ../../content/applications/productivity/spreadsheet/insert.rst:292 +msgid "Select the column to the right or left of where the new column should be inserted." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:26 -msgid ":doc:`insert and link to Odoo data `" +#: ../../content/applications/productivity/spreadsheet/insert.rst:293 +msgid "Click :menuselection:`Insert -->` :icon:`os-insert-col` :menuselection:`Insert column` then :icon:`os-insert-col-before` :menuselection:`Column left` or :icon:`os-insert-col-after` :menuselection:`Column right` from the menu bar, or right-click then :icon:`os-insert-col-before` :guilabel:`Insert column left` or :icon:`os-insert-col-after` :guilabel:`Insert column right` as appropriate." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:27 -msgid ":doc:`create and use dynamic pivot tables `" +#: ../../content/applications/productivity/spreadsheet/insert.rst:298 +msgid "Copy the header cell of any column, paste it into the header cell of the new column, and press `Enter`." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:28 -msgid "filter data across multiple Odoo data sources using :doc:`global filters `" +#: ../../content/applications/productivity/spreadsheet/insert.rst:300 +msgid "Double-click the new header cell then click on the field name that appears in quotation marks at the end of the formula; a list of all the technical names of the fields of the related model appears." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:30 -msgid "visualize data using charts and formatting" +#: ../../content/applications/productivity/spreadsheet/insert.rst:0 +msgid "Add fields/columns by editing the formula" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:31 -msgid "share files internally and externally" +#: ../../content/applications/productivity/spreadsheet/insert.rst:307 +msgid "Select the appropriate field name and press `Enter`. The field's label appears in the header." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:33 -msgid "The Spreadsheet module is part of **Odoo Documents**." +#: ../../content/applications/productivity/spreadsheet/insert.rst:310 +msgid "To know a field's technical name, navigate to the relevant view, :ref:`activate developer mode `, then check the field name by hovering over the question mark beside a field's label." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:36 -msgid "Within a spreadsheet, opening the command palette, using the :doc:`keyboard shortcut <../../applications/essentials/keyboard_shortcuts>` `Ctrl` + `K` or `Command` + `K`, allows you to browse and execute spreadsheet commands via the keyboard, without having to navigate menus." +#: ../../content/applications/productivity/spreadsheet/insert.rst:314 +msgid "With the header cell selected, double-click on the blue square in the bottom-right corner. The cells of the column are populated with the appropriate formula to retrieve the list values. If there is corresponding data in your database, the cells are populated." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:41 -msgid "Odoo spreadsheets serve as the foundation for the :doc:`dashboards available in Odoo Dashboards <../../applications/productivity/dashboards>`. On a dashboard, charts and data tables are used to display dynamic Odoo data and provide an overview of key business metrics." +#: ../../content/applications/productivity/spreadsheet/insert.rst:321 +msgid "Duplicate a list" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:45 -msgid ":ref:`Standard, pre-configured dashboards ` can be :ref:`customized ` by editing the dashboard's underlying spreadsheet via Dashboards. :ref:`Custom dashboards ` can also be created from scratch, starting from an Odoo spreadsheet; any subsequent :ref:`modifications ` are performed via Dashboards." +#: ../../content/applications/productivity/spreadsheet/insert.rst:323 +msgid "Duplicating a list via the list's properties creates an additional data source. This allows for different manipulations to be performed on the same data within one spreadsheet." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:56 -msgid "Create a new spreadsheet" +#: ../../content/applications/productivity/spreadsheet/insert.rst:326 +msgid "With the :ref:`list properties ` open, click the :icon:`fa-cog` :guilabel:`(gear)` icon then :icon:`fa-clone` :guilabel:`Duplicate`." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:58 -msgid "To create a new spreadsheet:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:329 +msgid "The new data source is assigned the next available list ID. For example, if no other lists have been inserted in the meantime, duplicating *List #1* results in the creation of *List #2*." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:60 -msgid "Open Odoo Documents and navigate to the section or folder in which the spreadsheet should be created." +#: ../../content/applications/productivity/spreadsheet/insert.rst:332 +msgid "Unlike when you insert a list, a duplicated list is not automatically inserted into the spreadsheet. To insert it, perform the following steps:" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:62 -msgid "Click :guilabel:`New` and select :guilabel:`Spreadsheet`." +#: ../../content/applications/productivity/spreadsheet/insert.rst:335 +msgid "Add a new sheet by clicking the :icon:`os-plus` :guilabel:`(add sheet)` icon at the bottom left of the spreadsheet." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:65 -msgid "Alternatively, from the :icon:`fa-folder-o` :guilabel:`All` folder, click :guilabel:`New` and select :guilabel:`Spreadsheet`, then select in which :guilabel:`Folder` the spreadsheet should be created." +#: ../../content/applications/productivity/spreadsheet/insert.rst:337 +msgid "Click :menuselection:`Data --> Re-insert list` from the menu bar, then select the appropriate list." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:69 -msgid "Click :guilabel:`Blank spreadsheet` or, to create a new spreadsheet using an existing :doc:`template `, select the relevant template." +#: ../../content/applications/productivity/spreadsheet/insert.rst:339 +msgid "Define the number of records to insert and click :guilabel:`Confirm`." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:71 -#: ../../content/applications/productivity/spreadsheet.rst:219 -msgid "Click :guilabel:`Create`." +#: ../../content/applications/productivity/spreadsheet/insert.rst:340 +msgid "Edit the :guilabel:`List Name` in the properties panel if needed." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:72 -msgid "Click on `Untitled spreadsheet` at the top of the screen to edit the name of the spreadsheet." +#: ../../content/applications/productivity/spreadsheet/insert.rst:341 +msgid "Rename the sheet by right-clicking on the sheet tab, selecting :guilabel:`Rename`, and entering the new sheet name." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:75 -msgid "It is also possible to create a new spreadsheet by:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:345 +msgid "Duplicating an inserted list by copying and pasting it or by duplicating the sheet into which it has been inserted does not create a new data source. Any changes made to the list's properties would therefore impact any copies of the list." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:77 -msgid "clicking :menuselection:`File -->` :icon:`os-clear-and-reload` :menuselection:`New` from the menu bar of an open spreadsheet; or" +#: ../../content/applications/productivity/spreadsheet/insert.rst:352 +msgid "Delete a list" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:79 -msgid ":doc:`inserting a list, pivot table, or chart from another Odoo app ` into a new spreadsheet directly from the app in question." +#: ../../content/applications/productivity/spreadsheet/insert.rst:354 +msgid "To fully delete a list and the underlying data source from a spreadsheet, perform the following steps in any order:" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:82 -msgid "In these cases, the new spreadsheet is saved in Odoo Documents in the :icon:`fa-hdd-o` :guilabel:`My Drive` personal folder." +#: ../../content/applications/productivity/spreadsheet/insert.rst:357 +#: ../../content/applications/productivity/spreadsheet/insert.rst:542 +msgid "Delete the spreadsheet table using your preferred means, e.g., via keyboard commands, spreadsheet menus, or by deleting the sheet. This deletes the visual representation of the data." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:88 -msgid "Upload files" +#: ../../content/applications/productivity/spreadsheet/insert.rst:359 +msgid "From the :ref:`properties panel ` of the relevant list, click the :icon:`fa-cog` :guilabel:`(gear)` icon then :icon:`fa-trash` :guilabel:`Delete`. This deletes the data source of the list from the spreadsheet." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:90 -msgid "Files in `.xlsx` or `.csv` format can be uploaded into Odoo Documents and opened with Odoo Spreadsheet. To do so:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:366 +msgid "Insert a pivot table" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:93 -msgid "Open Odoo Documents and navigate to the section or folder where the spreadsheet should be saved." +#: ../../content/applications/productivity/spreadsheet/insert.rst:369 +msgid "Converting an inserted pivot table to a :doc:`dynamic pivot table ` allows you to add, remove, and manipulate dimensions (i.e., columns and rows) and measures. It is therefore possible to insert a basic pivot table with minimal configuration, convert it to a dynamic pivot table, then refine it directly in the spreadsheet." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:94 -msgid "Click :guilabel:`New` and select :guilabel:`Upload`." +#: ../../content/applications/productivity/spreadsheet/insert.rst:375 +msgid "To insert a pivot table:" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:95 -msgid "Select the relevant `.xlsx` or `.csv` file and click :guilabel:`Open`." +#: ../../content/applications/productivity/spreadsheet/insert.rst:377 +msgid "With the relevant pivot view open in your database, click :guilabel:`Insert in Spreadsheet`." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:96 -msgid "Click on the uploaded file." +#: ../../content/applications/productivity/spreadsheet/insert.rst:378 +msgid "In the window that opens, edit the :guilabel:`Name of the pivot` if needed." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:97 -msgid "By default, the original file is deleted when it is opened with Odoo Spreadsheet. To preserve the original file in the same folder in Odoo Documents, disable :guilabel:`Send source file to trash`." +#: ../../content/applications/productivity/spreadsheet/insert.rst:380 +msgid "This name is used in the sheet name and in the :ref:`pivot table properties `." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:100 -msgid "Click :guilabel:`Open with Odoo Spreadsheet`." +#: ../../content/applications/productivity/spreadsheet/insert.rst:0 +msgid "Inserting a pivot table in a spreadsheet" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:102 -msgid "The file can now be fully edited in Odoo Spreadsheet." +#: ../../content/applications/productivity/spreadsheet/insert.rst:386 +msgid "Click :guilabel:`Blank spreadsheet` to create a new spreadsheet, or select in which existing spreadsheet the pivot table should be inserted." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:107 -msgid "Manage spreadsheets" +#: ../../content/applications/productivity/spreadsheet/insert.rst:390 +msgid "When inserting a pivot table into a new spreadsheet, the spreadsheet is saved in the **Odoo Documents** app in the :icon:`fa-hdd-o` :guilabel:`My Drive` personal folder." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:109 -msgid "Users with :guilabel:`Editor` rights to a specific spreadsheet have various options for managing the spreadsheet via the :guilabel:`File` menu:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:395 +msgid "The pivot table is inserted into a new sheet in the spreadsheet. The sheet tab in the bottom bar shows the name of the pivot table followed by the pivot table ID, e.g., *Sales Analysis by Sales Team (Pivot #1)*. A panel on the right side of the screen shows the :ref:`pivot table properties `." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:112 -msgid ":icon:`os-copy-file` :guilabel:`Make a copy`: creates a duplicate of the current spreadsheet with the same :ref:`regional settings ` (or locale)." +#: ../../content/applications/productivity/spreadsheet/insert.rst:401 +msgid "To sever the link between an inserted pivot table and your database, select the entire pivot table, right-click and select :icon:`fa-clone` :guilabel:`Copy`, then right-click again and select :menuselection:`Paste special --> Paste as value`." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:114 -msgid ":icon:`os-save` :guilabel:`Save as template`: allows the current spreadsheet to be used as a :doc:`template ` for future spreadsheets." +#: ../../content/applications/productivity/spreadsheet/insert.rst:404 +msgid "Do not modify the pivot table ID in the sheet name, as the inserted pivot table retains this ID for the lifetime of the spreadsheet. This pivot table ID is used in the :ref:`spreadsheet functions ` that retrieve data from your database." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:116 -msgid ":icon:`os-download` :guilabel:`Download`: downloads the spreadsheet in `.xlsx` format." +#: ../../content/applications/productivity/spreadsheet/insert.rst:412 +msgid "Pivot table functions" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:119 -msgid "When you download a spreadsheet in `.xlsx` format, any spreadsheet formulas that retrieve Odoo data from your database, e.g., via an :doc:`inserted list ` or via other :doc:`Odoo-specific functions `, are converted to the values they would have returned at the moment the spreadsheet was downloaded." +#: ../../content/applications/productivity/spreadsheet/insert.rst:414 +msgid "An inserted pivot table that has not been converted to a :doc:`dynamic pivot table ` uses the following :doc:`functions ` to retrieve the header and field values, respectively:" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:125 -msgid "Users with :guilabel:`Viewer` rights can also download a spreadsheet in `.xlsx` format." +#: ../../content/applications/productivity/spreadsheet/insert.rst:423 +msgid "The arguments of the functions are as follows:" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:127 -msgid ":icon:`os-version-history` :guilabel:`See version history`: provides read-only :ref:`access to previous versions ` of the current spreadsheet, which can be named and restored if needed." +#: ../../content/applications/productivity/spreadsheet/insert.rst:425 +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:80 +msgid "`pivot_id`: the ID assigned when the pivot table is inserted. The first pivot table inserted in a spreadsheet is assigned pivot ID `1`, the second, pivot ID `2`, etc." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:130 -msgid ":icon:`fa-print` :guilabel:`Print`: prints a copy of the spreadsheet on a connected printer." +#: ../../content/applications/productivity/spreadsheet/insert.rst:427 +msgid "`measure_name`: the technical name of what is being measured, followed by the type of aggregation, e.g., `product_uom_qty:sum`." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:131 -msgid ":icon:`os-cog` :guilabel:`Settings`: allows you to view and change the :ref:`locale ` of the current spreadsheet." +#: ../../content/applications/productivity/spreadsheet/insert.rst:429 +msgid "`domain_field_name`: the technical name of the field used as a dimension, e.g., `user_id`, or, if the dimension is a time period, the technical name of the date field, followed by the time period, e.g., `date_order:month`." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:133 -msgid ":icon:`os-add-to-dashboard` :guilabel:`Add to dashboard`: :ref:`converts ` the current spreadsheet into an Odoo dashboard." +#: ../../content/applications/productivity/spreadsheet/insert.rst:432 +msgid "`domain_value`: the ID of the record, or, if the dimension is a time period, the date or time period targeted." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:142 -msgid "Odoo Spreadsheet automatically saves versions of spreadsheets as changes are made, allowing users with :guilabel:`Editor` rights to browse and restore previous versions." +#: ../../content/applications/productivity/spreadsheet/insert.rst:436 +msgid "Clicking on an individual cell displays the related formula, if relevant, in the formula bar. To display all the formulas of a spreadsheet at the same time, click :menuselection:`View -->` :icon:`fa-eye` :menuselection:`Show --> Formulas` on the menu bar. The example below shows the functions used to retrieve headers and values of a static pivot table." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:145 -msgid "To access the version history of a spreadsheet, click :menuselection:`File -->` :icon:`os-version-history` :menuselection:`See version history` from the menu bar. Saved versions appear in a panel on the right of the spreadsheet. The name of the user who made the change is shown, as well as the date and time of the change." +#: ../../content/applications/productivity/spreadsheet/insert.rst:0 +msgid "Functions of a static pivot table" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:150 -msgid "The following actions are possible:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:447 +msgid "Pivot table properties" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:152 -msgid "**View an earlier version** in read-only format by clicking on the relevant version." +#: ../../content/applications/productivity/spreadsheet/insert.rst:449 +msgid "The pivot table properties appear on the right side of the screen when a pivot table is inserted. They can be accessed at any time via the :guilabel:`Data` menu by clicking the relevant pivot table, as prefaced by the :icon:`oi-view-pivot` :guilabel:`(pivot)` icon, or by right-clicking anywhere on the pivot table and clicking :icon:`oi-view-pivot` :guilabel:`See pivot properties`." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:153 -msgid "**Restore an earlier version** by clicking :icon:`fa-ellipsis-v` :guilabel:`(vertical ellipsis)` then :guilabel:`Restore this version`." +#: ../../content/applications/productivity/spreadsheet/insert.rst:454 +msgid "The following pivot table properties are shown, some of which can be edited:" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:155 -msgid "**Copy an earlier version** by clicking :icon:`fa-ellipsis-v` :guilabel:`(vertical ellipsis)` then :menuselection:`Make a copy`. A copy of the version opens as a new spreadsheet." +#: ../../content/applications/productivity/spreadsheet/insert.rst:456 +msgid ":guilabel:`Pivot #`: the pivot table ID. Pivot table IDs are assigned sequentially as additional pivot tables are inserted in the spreadsheet." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:157 -msgid "**Create named versions** by clicking on the date and time of the relevant version and entering the desired name. The date and time of the version are then displayed below the new name." +#: ../../content/applications/productivity/spreadsheet/insert.rst:458 +msgid ":guilabel:`Name`: the name of the pivot table. Edit this if needed. Note that editing the name in the pivot table properties does not modify the name shown in the sheet name, and vice versa." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:161 -msgid "When viewing an earlier, read-only version of a spreadsheet, the following actions are still possible:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:461 +msgid ":guilabel:`Columns` and :guilabel:`Rows`: dimensions you are using to categorize or group data from the model." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:164 -msgid "Search the spreadsheet by clicking :menuselection:`Edit -->` :icon:`fa-search` :menuselection:`Find and replace` or using the shortcut `Ctrl` + `H`." +#: ../../content/applications/productivity/spreadsheet/insert.rst:463 +msgid ":guilabel:`Measures`: what you are measuring, or analyzing, based on the dimensions you have chosen." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:166 -msgid "Copy an individual cell or selected area by clicking :menuselection:`Edit -->` :icon:`fa-clipboard` :menuselection:`Copy` or using the shortcut `Ctrl` + `C`." +#: ../../content/applications/productivity/spreadsheet/insert.rst:467 +msgid "If you attempt to make changes to the columns, rows, or measures of a pivot table that has just been inserted into a spreadsheet, an error appears at the top right of the screen." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:172 -msgid "Regional settings" +#: ../../content/applications/productivity/spreadsheet/insert.rst:0 +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:0 +msgid "Error message when trying to manipulate static pivot table" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:174 -msgid "To ensure data is displayed consistently for all users, the regional settings (or locale) of a spreadsheet, are managed at spreadsheet level. This locale affects the following settings and formats:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:473 +msgid "To be able to manipulate a pivot table's properties, convert a static pivot table to a :ref:`dynamic pivot table `." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:178 -msgid "thousand and decimal separators" +#: ../../content/applications/productivity/spreadsheet/insert.rst:483 +msgid "To :ref:`duplicate ` or :ref:`delete ` a pivot table's data source, click the :icon:`fa-cog` :guilabel:`(gear)` icon then :icon:`fa-clone` :guilabel:`Duplicate` or :icon:`fa-trash` :guilabel:`Delete`." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:179 -msgid "date and time formats" +#: ../../content/applications/productivity/spreadsheet/insert.rst:491 +msgid "Manage an inserted pivot table" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:180 -msgid "first day of the week" +#: ../../content/applications/productivity/spreadsheet/insert.rst:493 +msgid "After a pivot table from an Odoo database has been inserted into an Odoo spreadsheet, you can:" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:182 -msgid "By default, a new spreadsheet inherits the regional settings of the user who created it. For example, any spreadsheets created by a user whose language is set to :guilabel:`French (BE) / Français (BE)` will follow Belgian French conventions." +#: ../../content/applications/productivity/spreadsheet/insert.rst:495 +msgid ":ref:`convert it to a dynamic pivot table ` to be able to manipulate the dimensions and measures" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:186 -msgid "A spreadsheet's locale can be viewed and changed at any time by a user with :guilabel:`Editor` rights. To view the locale of a spreadsheet, click :menuselection:`File -->` :icon:`os-cog` :menuselection:`Settings` from the menu bar. The :guilabel:`Spreadsheet settings` panel opens on the right of the spreadsheet. To change the locale, select the appropriate locale from the dropdown." +#: ../../content/applications/productivity/spreadsheet/insert.rst:497 +msgid ":ref:`duplicate the pivot table ` to create a new, identical data source" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:192 -msgid "When you open a spreadsheet that has a different locale to that of your user profile, a blue :icon:`fa-globe` :guilabel:`(globe)` icon appears at the top right of the spreadsheet. Hovering over the icon reveals a warning message that indicates the spreadsheet locale and highlights formats that differ." +#: ../../content/applications/productivity/spreadsheet/insert.rst:499 +msgid ":ref:`delete the pivot table and its underlying data source `" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:-1 -msgid "Warning about difference between user and spreadsheet locale" +#: ../../content/applications/productivity/spreadsheet/insert.rst:505 +msgid "Duplicate a pivot table" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:200 -msgid "If no :icon:`fa-globe` :guilabel:`(globe)` icon is shown, this means the spreadsheet's locale is the same as that of your user profile." +#: ../../content/applications/productivity/spreadsheet/insert.rst:507 +msgid "Duplicating a pivot table via the pivot table's properties creates an additional data source. This allows for different manipulations to be performed on the same data within one spreadsheet." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:206 -msgid "Convert a spreadsheet into a dashboard" +#: ../../content/applications/productivity/spreadsheet/insert.rst:510 +msgid "For example, you can see the same data aggregated by different dimensions or use :doc:`global filters ` to offset the date and create pivot tables that compare the current period's data with a previous period." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:208 -msgid "A user with the appropriate :ref:`access rights ` can convert an Odoo spreadsheet into a dashboard that is then accessible via :doc:`Odoo Dashboards <../../../applications/productivity/dashboards>`. To do so:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:514 +msgid "To duplicate a pivot table, perform the following steps:" msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:212 -msgid "Click :menuselection:`File -->` :icon:`os-add-to-dashboard` :menuselection:`Add to dashboard` from the menu bar." +#: ../../content/applications/productivity/spreadsheet/insert.rst:516 +msgid "With the :ref:`pivot table properties ` open, click the :icon:`fa-cog` :guilabel:`(gear)` icon then :icon:`fa-clone` :guilabel:`Duplicate`." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:214 -msgid "Enter the :guilabel:`Dashboard Name`." +#: ../../content/applications/productivity/spreadsheet/insert.rst:519 +msgid "The duplicated pivot table is automatically inserted into a new sheet in the spreadsheet, with the pivot table properties open in the right panel." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:215 -msgid "Select the relevant :guilabel:`Dashboard Section` from the dropdown or, to create a new dashboard section, type the name of the new section, then click :guilabel:`Create`." +#: ../../content/applications/productivity/spreadsheet/insert.rst:521 +msgid "Edit the :guilabel:`Name` in the properties panel and the sheet tab if needed." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:217 -msgid "If necessary, modify the :guilabel:`Access Groups` to determine which :ref:`user groups ` can access the dashboard." +#: ../../content/applications/productivity/spreadsheet/insert.rst:523 +msgid "The new data source is assigned the next available pivot table ID. For example, if no other pivot tables have been inserted in the meantime, duplicating *Pivot #1* results in the creation of *Pivot #2*." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:222 -msgid "By default, the first tab of the spreadsheet serves as the front end of the dashboard." +#: ../../content/applications/productivity/spreadsheet/insert.rst:528 +msgid "Duplicating an inserted pivot table by copying and pasting it or by duplicating the sheet does not create a new data source. Any changes made to the pivot table's properties would therefore impact any copies of the pivot table." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:223 -msgid "It is also possible to convert a spreadsheet to a dashboard from within the :ref:`Dashboard configuration settings `, by directly adding the spreadsheet to an existing or new dashboard section." +#: ../../content/applications/productivity/spreadsheet/insert.rst:531 +msgid "When a pivot table is duplicated, the new pivot table is by default a :doc:`dynamic pivot table `." msgstr "" -#: ../../content/applications/productivity/spreadsheet.rst:226 -msgid "After a spreadsheet has been converted to a dashboard, it is deleted from Odoo Documents. Any subsequent :ref:`modifications ` need to be made via Odoo Dashboards." +#: ../../content/applications/productivity/spreadsheet/insert.rst:537 +msgid "Delete a pivot table" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:3 -msgid "Dynamic pivot tables" +#: ../../content/applications/productivity/spreadsheet/insert.rst:539 +msgid "To fully delete a pivot table and the underlying data source from a spreadsheet, perform the following steps in any order:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:5 -msgid "When a pivot view from an Odoo database is inserted in a spreadsheet, it is by default a static pivot table. Each cell in a static pivot table contains an :ref:`Odoo-specific function ` that retrieves data from your database." +#: ../../content/applications/productivity/spreadsheet/insert.rst:544 +msgid "From the :ref:`properties panel ` of the relevant pivot table, click the :icon:`fa-cog` :guilabel:`(gear)` icon then :icon:`fa-trash` :guilabel:`Delete`. This deletes the data source of the pivot table." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:-1 -msgid "Function of static pivot table cell" +#: ../../content/applications/productivity/spreadsheet/insert.rst:551 +msgid "Insert a chart" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:12 -msgid "When the corresponding data in your database changes, e.g., the sales related to a given quarter or an individual salesperson, the cells of your static pivot table are updated." +#: ../../content/applications/productivity/spreadsheet/insert.rst:553 +msgid "To insert a chart from an Odoo database into an Odoo spreadsheet:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:15 -msgid "However, a static pivot table does not expand automatically to accommodate new data, e.g., sales data for a new quarter or for a newly hired salesperson. Neither is it possible to add or manipulate dimensions (i.e., columns or rows) or measures via the pivot table properties." +#: ../../content/applications/productivity/spreadsheet/insert.rst:555 +msgid "With the relevant graph view open in your database, click :guilabel:`Insert in Spreadsheet`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:20 -msgid "If you attempt to update or manipulate the properties of a pivot table that has just been inserted into a spreadsheet, an error message appears in the top right corner of the screen:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:556 +msgid "In the window that opens, edit the :guilabel:`Name of the graph` if needed." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:0 -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Error message when trying to manipulate static pivot table" +#: ../../content/applications/productivity/spreadsheet/insert.rst:558 +msgid "Click :guilabel:`Blank spreadsheet` to create a new spreadsheet, or select in which existing spreadsheet the chart should be inserted." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:26 -msgid "To have more flexibility in how you can manipulate your pivot table, you can :ref:`create a dynamic pivot table ` from a static pivot table." +#: ../../content/applications/productivity/spreadsheet/insert.rst:562 +msgid "When inserting a chart into a new spreadsheet, the spreadsheet is saved in the **Odoo Documents** app in the :icon:`fa-hdd-o` :guilabel:`My Drive` personal folder." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:32 -msgid "Create a dynamic pivot table" +#: ../../content/applications/productivity/spreadsheet/insert.rst:567 +msgid "Charts are inserted on the first sheet of the spreadsheet. A pane on the right side of the screen shows the :ref:`chart properties `, where various aspects of the chart's configuration and design can be modified." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:34 -msgid "There are two main ways to create a dynamic pivot table from a static pivot table:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:572 +msgid ":ref:`Manage charts `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:36 -msgid "**Duplicate the static pivot table from the pivot table properties**: :ref:`Open the pivot table properties `, click the :icon:`fa-cog` (:guilabel:`gear`) icon at the top right of the pane, then click :icon:`fa-clone` :guilabel:`Duplicate`." +#: ../../content/applications/productivity/spreadsheet/insert.rst:575 +msgid "Clicking on a data point in a chart opens the relevant list view in the database. In the example, clicking on :guilabel:`Jessica Childs` opens the list view of all sales by this salesperson that match the domain of the chart." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:41 -msgid "A new data source is created and a dynamic version of the pivot table is inserted into a new sheet. The dynamic pivot table has the same styling as the original pivot table." +#: ../../content/applications/productivity/spreadsheet/insert.rst:0 +msgid "A clickable link to an Odoo menu plus clickable data point" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:45 -msgid "When you use this method, your new dynamic pivot table gets the next available pivot ID. This means you can create multiple pivot views associated with the same model, but with distinct settings, groupings, or calculations." +#: ../../content/applications/productivity/spreadsheet/insert.rst:585 +msgid "Insert clickable links" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:49 -msgid "**Re-insert the dynamic pivot table from the Data menu**: On the sheet that contains your static pivot table, position your cursor in an empty cell. Click :menuselection:`Data -->` :icon:`os-insert-pivot` :menuselection:`Re-insert dynamic pivot` from the menu bar, then select the relevant pivot table." +#: ../../content/applications/productivity/spreadsheet/insert.rst:587 +msgid "Adding links to related or supporting information can make your report or dashboard more user-friendly and effective." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:54 -msgid "A new, dynamic pivot table appears, with the same styling as the original pivot table." +#: ../../content/applications/productivity/spreadsheet/insert.rst:590 +msgid "You can :ref:`insert a clickable link from any spreadsheet cell ` to:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:57 -msgid "When you use this method, your static and dynamic pivot share the same data source, and, consequently, the same pivot ID. To avoid confusion, delete the original static pivot table." +#: ../../content/applications/productivity/spreadsheet/insert.rst:593 +msgid "an Odoo menu item" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:61 -msgid "It is also possible to directly enter the :ref:`function ` of the dynamic pivot table in an empty cell. However, with this method, the table styling needs to be re-applied manually." +#: ../../content/applications/productivity/spreadsheet/insert.rst:594 +msgid "another sheet inside the same spreadsheet" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:68 -msgid "Dynamic pivot table functions" +#: ../../content/applications/productivity/spreadsheet/insert.rst:595 +msgid "an external URL" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:70 -msgid "Instead of each cell containing a unique function that retrieves data from your database, as in a :ref:`static pivot table `, a dynamic pivot table has a single function:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:597 +msgid "You can :ref:`insert a clickable link from any chart ` to an Odoo menu item." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:78 -#: ../../content/applications/productivity/spreadsheet/insert.rst:194 -msgid "The arguments of the function are as follows:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:601 +msgid "Clicking a link to a menu item provides the same result as navigating via the Odoo menu within an app, e.g., the menu item :guilabel:`Sales/Orders/Quotations` corresponds to the default view when navigating to :menuselection:`Sales --> Orders --> Quotations`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:80 -#: ../../content/applications/productivity/spreadsheet/insert.rst:423 -msgid "`pivot_id`: the ID assigned when the pivot table is inserted. The first pivot table inserted in a spreadsheet is assigned pivot ID `1`, the second, pivot ID `2`, etc." +#: ../../content/applications/productivity/spreadsheet/insert.rst:604 +msgid "It is also possible to insert a clickable link to a specific view of a model in a spreadsheet starting from the view itself. However, as this method inserts each new link in a new sheet, it is more efficient to create links to specific views starting from the spreadsheet." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:82 -msgid "`row_count` and `column count`: the number of rows and columns respectively." +#: ../../content/applications/productivity/spreadsheet/insert.rst:609 +msgid "Use the middle mouse button or `Ctrl` + left-click (Microsoft/Linux), or `Command` + left-click (Mac OS) to open clickable links in a new browser tab." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:83 -msgid "`include_total` and `include_column_titles`: values of `0` remove the total and column titles respectively." +#: ../../content/applications/productivity/spreadsheet/insert.rst:615 +msgid "Insert a clickable link from a cell" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:86 -msgid "This is an array function, which allows the pivot table to expand automatically to accommodate the results of the function." +#: ../../content/applications/productivity/spreadsheet/insert.rst:617 +msgid "To insert a clickable link from a cell:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:89 -msgid "The top-left cell contains the editable function, while clicking on any other cell reveals this formula greyed out." +#: ../../content/applications/productivity/spreadsheet/insert.rst:619 +msgid "Click :menuselection:`Insert -->` :icon:`fa-link` :menuselection:`Link` from the menu bar or right-click on the cell, then click :icon:`fa-link` :guilabel:`Insert link`. Next, depending on the desired outcome, perform one of the following actions:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:-1 -msgid "Array function of a dynamic pivot table" +#: ../../content/applications/productivity/spreadsheet/insert.rst:623 +msgid "Click the :icon:`fa-bars` :guilabel:`(menu)` icon, then :guilabel:`Link an Odoo menu`. Select the relevant menu item from the list or click :guilabel:`Search more` to choose from a list of all menu items. Click :guilabel:`Confirm`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:96 -msgid "If necessary, you can update the function of a dynamic pivot table to remove elements like the total or column titles." +#: ../../content/applications/productivity/spreadsheet/insert.rst:626 +msgid "Click the :icon:`fa-bars` :guilabel:`(menu)` icon, then :guilabel:`Link sheet`, then choose the relevant sheet from the current spreadsheet." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:99 -msgid "With the function open in the formula bar or the top-left cell of the pivot table, position your cursor after the pivot ID then type `,` to advance to the optional field you want to modify. In the example below, adding the value `0` for `[include_total]` removes both the row total and column total from the pivot table." +#: ../../content/applications/productivity/spreadsheet/insert.rst:628 +msgid "Under :guilabel:`Link`, type a URL." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:0 -msgid "Modifying the function of a dynamic pivot table" +#: ../../content/applications/productivity/spreadsheet/insert.rst:630 +msgid "Enter or edit the label for the link in the :guilabel:`Text` field." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:110 -msgid "Manipulate a dynamic pivot table" +#: ../../content/applications/productivity/spreadsheet/insert.rst:636 +msgid "Insert a clickable link from a chart" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:112 -msgid "To manipulate data in a dynamic pivot table, :ref:`open the pivot table properties `." +#: ../../content/applications/productivity/spreadsheet/insert.rst:638 +msgid "To insert a clickable link from a chart to an Odoo menu item:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:115 -msgid "The following options are available by clicking the :icon:`fa-cog` (:guilabel:`gear`) icon:" +#: ../../content/applications/productivity/spreadsheet/insert.rst:640 +msgid "Hover over the top right of the chart's box, then click the :icon:`fa-bars` :guilabel:`(menu)` icon, then :icon:`fa-pencil-square-o` :guilabel:`Edit`. The chart properties appear at the right of the screen." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:117 -msgid ":icon:`fa-exchange` :guilabel:`Flip axes`: to move all the dimensions represented in columns to rows and vice versa." +#: ../../content/applications/productivity/spreadsheet/insert.rst:643 +msgid "At the bottom of the :icon:`fa-sliders` :guilabel:`Configuration` tab of the chart properties panel, click under :guilabel:`Link to Odoo menu`, then select a menu." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:121 -msgid "Flipping the axes presents the data from a different perspective, possibly bringing new insights. However, depending on the volume of data, it can result in #SPILL errors. This happens when a formula tries to output a range of values, but something is blocking those cells, such as other data, merged cells, or the boundaries of the current sheet." +#: ../../content/applications/productivity/spreadsheet/insert.rst:646 +msgid "Hover over the top right of the chart's box to see that a new :icon:`fa-external-link` :guilabel:`(external link)` icon has been added." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:126 -msgid "Hovering over the cell containing :guilabel:`#SPILL` details the error." +#: ../../content/applications/productivity/spreadsheet/insert.rst:652 +msgid "Insert financial data" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:128 -msgid ":icon:`fa-clone` :guilabel:`Duplicate`: to duplicate the dynamic pivot table and create a new data source with distinct properties." +#: ../../content/applications/productivity/spreadsheet/insert.rst:654 +msgid "When building reports and dashboards, it may be useful to include certain accounting-related data, such as account IDs, credits and debits for specific accounts, and dates of the start and end of the tax year." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:130 -msgid ":icon:`fa-trash` :guilabel:`Delete`: to delete the data source of the dynamic pivot table." +#: ../../content/applications/productivity/spreadsheet/insert.rst:658 +msgid ":ref:`Odoo-specific spreadsheet functions ` allow you to retrieve such accounting data from your database and insert it into a spreadsheet." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:133 -msgid "Deleting the data source of a pivot table does not delete the visual representation of the data. Delete the table from the spreadsheet using your preferred means, e.g., via keyboard commands, spreadsheet menus, or by deleting the sheet." +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:3 +msgid "Share and collaborate" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:140 -msgid "Dimensions" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:5 +msgid "Odoo Spreadsheet offers various features that allow for efficient real-time collaboration while ensuring the appropriate level of control and traceability, including:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:142 -msgid "The dimensions of the pivot table, i.e., how the data is grouped, are placed in :guilabel:`Columns` and :guilabel:`Rows` according to how they appeared in the pivot view in your database, i.e., before the pivot table was inserted in the spreadsheet." +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:8 +msgid ":ref:`permission-based sharing `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:146 -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:169 -msgid "You can:" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:9 +msgid ":ref:`version history `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:148 -msgid "add new dimensions by clicking :guilabel:`Add`" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:10 +msgid "discussions via :ref:`comments and the spreadsheet's chatter thread `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:149 -msgid "delete existing dimensions by clicking the :icon:`fa-trash` :guilabel:`(delete)` icon on the relevant dimension" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:16 +msgid "Access and sharing" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:151 -msgid "change the order in which dimensions are displayed in :guilabel:`Columns` or :guilabel:`Rows` by clicking then dragging the dimension to the desired position within its respective section" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:18 +msgid "In principle, the rights to access Odoo spreadsheets are handled like :ref:`any other file in the Documents app `. :ref:`Roles and permissions ` are either inherited from the folder a spreadsheet is saved in or controlled at the level of the spreadsheet itself." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:153 -msgid "change the axis on which a dimension is shown by clicking then dragging the dimension from :guilabel:`Columns` to :guilabel:`Rows` or vice versa" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:23 +msgid "However, there are important differences to consider between :ref:`spreadsheets that contain only static data ` and :ref:`spreadsheets that contain dynamic Odoo data `, in terms of both access and data visibility." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:155 -msgid "change how a dimension's values are ordered by selecting :guilabel:`Ascending`, :guilabel:`Descending`, or :guilabel:`Unsorted` in the :guilabel:`Order by` field" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:30 +msgid "Access to a folder or spreadsheet can be managed by its owner or any user with :guilabel:`Editor` rights." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:157 -msgid "for date- or time-based dimensions, select the desired :guilabel:`Granularity` from the options in the dropdown menu" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:32 +msgid "A user with :guilabel:`Viewer` rights cannot share a spreadsheet with a specific user directly, but can copy a link to the spreadsheet." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:163 -msgid "Measures" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:34 +msgid "Any user with access to a spreadsheet can download it as an `.xlsx` file by clicking :menuselection:`File -->` :icon:`fa-download` :menuselection:`Download` from the menu bar. If the spreadsheet contained dynamic data, the values are frozen at the moment of download." msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:165 -msgid "The measures of your pivot table, i.e., what you are measuring, or analyzing, based on the dimensions you have chosen, are listed in the order they appeared in the pivot view in your database." +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:41 +msgid "Roles and permissions" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:171 -msgid "add new measures, including :ref:`calculated measures `, by clicking :guilabel:`Add`" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:43 +msgid "Permissions are managed using the following roles:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:174 -msgid "hide (:icon:`fa-eye`), show (:icon:`fa-eye-slash`), or delete (:icon:`fa-trash`) existing measures" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:50 +msgid "Role" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:175 -msgid "edit the name of existing measures by clicking on the measure's name" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:51 +msgid "View" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:176 -msgid "change the order in which measures are displayed by clicking then dragging the measure to the desired position" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:52 +msgid "Edit" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:178 -msgid "change how measures are displayed by clicking the :icon:`fa-cog` :guilabel:`(gear)` icon, then selecting the desired option from the dropdown menu, e.g., :guilabel:`% of grand total` or :guilabel:`Rank smallest to largest`. The pivot table data updates dynamically as different options are selected." +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:53 +msgid "Delete" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:182 -msgid "choose how measures are aggregated, e.g., by :guilabel:`Sum`, :guilabel:`Average`, :guilabel:`Minimum`" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:54 +msgid "Download .xlsx" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:186 -msgid "To sort the values of a dynamic pivot table by measure for a specific dimension, right-click any pivot table value, then click :icon:`os-sort-range` :guilabel:`Sort pivot` and select :guilabel:`Ascending` or :guilabel:`Descending` from the dropdown. To return to the default order, follow the same steps then select :guilabel:`No sorting` from the dropdown." +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:55 +msgid "Share" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:194 -msgid "Calculated measures" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:56 +msgid "Manage roles" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:196 -msgid "It is possible to add calculated measures if the desired measure did not exist in the original pivot view. For example, a calculated measure could be added to show the average revenue per order or the profit margin per product." +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:57 +msgid "Use comments" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:200 -msgid "To add a calculated measure:" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:58 +msgid "Use chatter" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:202 -msgid "From the :guilabel:`Measures` section of the pivot table properties, click :guilabel:`Add`." +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:59 +msgid "Owner" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:203 -msgid "Below the scrollable list, click :icon:`os-formula` :guilabel:`Add calculated measure`." +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:60 +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:61 +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:62 +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:63 +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:66 +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:67 +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:69 +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:70 +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:71 +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:72 +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:75 +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:76 +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:78 +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:81 +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:85 +msgid ":icon:`fa-check`" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:204 -msgid "Rename the calculated measure by clicking on the name and typing." +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:64 +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:73 +msgid ":icon:`fa-check` with specific people or via link" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:205 -msgid "Click on the line starting with `=` and enter the formula." +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:65 +msgid ":icon:`fa-check` including changing owner" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:208 -msgid "In the below example, the average revenue per order is added by dividing the sum of the sales by the number of orders." +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:68 +msgid "Editor" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:0 -msgid "Formula for a calculated measure" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:74 +msgid ":icon:`fa-check` but cannot change owner" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:214 -msgid "Choose how the measure should be aggregated by selecting a value from the dropdown." +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:77 +msgid "Viewer" msgstr "" -#: ../../content/applications/productivity/spreadsheet/dynamic_pivot_tables.rst:217 -msgid "There are advantages to using a static pivot table, for example, being able to see the functions behind individual cells. To have this possibility, select the relevant portion of your dynamic pivot table, copy it, then paste it into an empty part of the sheet. Click on any pasted cell to see the :ref:`Odoo function ` used to retrieve the data." +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:79 +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:80 +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:83 +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:84 +msgid ":icon:`oi-close`" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:3 -msgid "Functions" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:82 +msgid ":icon:`fa-check` only via link" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:5 -msgid "**Odoo Spreadsheet** supports formulas and functions found in most spreadsheet solutions. This page presents the available functions by category. Odoo-specific functions are included both in the relevant category and in a dedicated :ref:`Odoo ` category:" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:90 +msgid "Share a static spreadsheet" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:9 -msgid ":ref:`Array `" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:92 +msgid "Spreadsheets containing only static data can be shared internally or externally by the owner of the spreadsheet or any user with :guilabel:`Editor` rights." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:10 -msgid ":ref:`Database `" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:95 +msgid "To do so, click :icon:`fa-share-alt` :guilabel:`Share` in the upper-right corner above the spreadsheet, then :ref:`configure access as appropriate `." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:11 -msgid ":ref:`Date `" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:101 +msgid "Share a dynamic spreadsheet" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:12 -msgid ":ref:`Engineering `" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:103 +msgid "A spreadsheet is considered a *dynamic spreadsheet* if it contains any of the following:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:13 -msgid ":ref:`Filter `" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:105 +msgid "formulas that retrieve live data from an Odoo database, e.g., in a :doc:`list or pivot table that has been inserted into the spreadsheet `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:14 -msgid ":ref:`Financial `" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:107 +msgid "a linked :ref:`data source `, even if the corresponding list or pivot table has been deleted from the spreadsheet" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:15 -msgid ":ref:`Info `" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:109 +msgid "links to Odoo menu items" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:16 -msgid ":ref:`Logical `" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:112 +msgid "Internal sharing" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:17 -msgid ":ref:`Lookup `" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:114 +msgid "Spreadsheets containing dynamic Odoo data can be shared *with internal users only* by the owner of the spreadsheet or any user with :guilabel:`Editor` rights." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:18 -msgid ":ref:`Math `" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:117 +msgid "However, having access to a spreadsheet does not necessarily mean an internal user *sees* all the data in the original spreadsheet. The visibility of dynamic Odoo data is based on an internal user’s access rights to the model from which the data has been retrieved, and takes into account any record rules that may restrict access." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:19 -msgid ":ref:`Operators `" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:123 +msgid "Permissions to view data are taken into account when an internal user opens a spreadsheet, with the spreadsheet only being populated with data the user is authorized to see." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:20 -msgid ":ref:`Parser `" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:127 +msgid "A sales manager creates a spreadsheet that includes sales data for all the salespeople in their team. Users with the permission `Sales / User: Own Documents Only` only see data related to their own sales." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:21 -msgid ":ref:`Statistical `" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:131 +msgid "To share a spreadsheet containing dynamic Odoo data, click :icon:`fa-share-alt` :guilabel:`Share` in the upper-right corner above the spreadsheet, then :ref:`configure access as appropriate `." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:22 -msgid ":ref:`Text `" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:136 +msgid "External sharing" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:23 -msgid ":ref:`Web `" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:138 +msgid "Spreadsheets containing dynamic Odoo data *cannot be accessed by external users*." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:24 -msgid ":ref:`Odoo-specific functions `" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:141 +msgid "If an external user attempts to access a dynamic spreadsheet via a link, an error message is shown." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:27 -msgid "Formulas containing functions that are not compatible with Excel are replaced by their evaluated result when exporting a spreadsheet." +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:144 +msgid "If a spreadsheet containing Odoo data needs to be shared with an external user, the owner of the spreadsheet or a user with :guilabel:`Editor` rights can create a frozen, read-only version. In this version, all Odoo formulas are converted to their value at the moment the frozen version is created, and any links to Odoo menus are removed." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:33 -#: ../../content/applications/productivity/spreadsheet/functions.rst:842 -msgid "Array" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:149 +msgid "To create a frozen version of a spreadsheet that contains dynamic Odoo data, click :menuselection:`File --> Share --> Freeze and share` from the menu bar, then :ref:`configure access as appropriate `." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:39 -#: ../../content/applications/productivity/spreadsheet/functions.rst:91 -#: ../../content/applications/productivity/spreadsheet/functions.rst:127 -#: ../../content/applications/productivity/spreadsheet/functions.rst:203 -#: ../../content/applications/productivity/spreadsheet/functions.rst:217 -#: ../../content/applications/productivity/spreadsheet/functions.rst:237 -#: ../../content/applications/productivity/spreadsheet/functions.rst:361 -#: ../../content/applications/productivity/spreadsheet/functions.rst:393 -#: ../../content/applications/productivity/spreadsheet/functions.rst:427 -#: ../../content/applications/productivity/spreadsheet/functions.rst:471 -#: ../../content/applications/productivity/spreadsheet/functions.rst:599 -#: ../../content/applications/productivity/spreadsheet/functions.rst:641 -#: ../../content/applications/productivity/spreadsheet/functions.rst:655 -#: ../../content/applications/productivity/spreadsheet/functions.rst:775 -#: ../../content/applications/productivity/spreadsheet/functions.rst:829 -#: ../../content/applications/productivity/spreadsheet/functions.rst:848 -#: ../../content/applications/productivity/spreadsheet/functions.rst:862 -#: ../../content/applications/productivity/spreadsheet/functions.rst:888 -#: ../../content/applications/productivity/spreadsheet/functions.rst:916 -#: ../../content/applications/productivity/spreadsheet/functions.rst:932 -#: ../../content/applications/productivity/spreadsheet/functions.rst:946 -#: ../../content/applications/productivity/spreadsheet/functions.rst:962 -#: ../../content/applications/productivity/spreadsheet/functions.rst:1000 -#: ../../content/applications/productivity/spreadsheet/functions.rst:1024 -msgid "Name and arguments" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:154 +msgid "It is also possible to download a frozen version of a spreadsheet that contains Odoo data as an `.xlsx` file by clicking :menuselection:`File -->` :icon:`fa-download` :menuselection:`Download` from the menu bar. The values of any dynamic data are frozen at the moment of download." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:40 -#: ../../content/applications/productivity/spreadsheet/functions.rst:92 -#: ../../content/applications/productivity/spreadsheet/functions.rst:128 -#: ../../content/applications/productivity/spreadsheet/functions.rst:204 -#: ../../content/applications/productivity/spreadsheet/functions.rst:218 -#: ../../content/applications/productivity/spreadsheet/functions.rst:238 -#: ../../content/applications/productivity/spreadsheet/functions.rst:362 -#: ../../content/applications/productivity/spreadsheet/functions.rst:394 -#: ../../content/applications/productivity/spreadsheet/functions.rst:428 -#: ../../content/applications/productivity/spreadsheet/functions.rst:472 -#: ../../content/applications/productivity/spreadsheet/functions.rst:600 -#: ../../content/applications/productivity/spreadsheet/functions.rst:642 -#: ../../content/applications/productivity/spreadsheet/functions.rst:656 -#: ../../content/applications/productivity/spreadsheet/functions.rst:776 -#: ../../content/applications/productivity/spreadsheet/functions.rst:830 -#: ../../content/applications/productivity/spreadsheet/functions.rst:849 -#: ../../content/applications/productivity/spreadsheet/functions.rst:863 -#: ../../content/applications/productivity/spreadsheet/functions.rst:889 -#: ../../content/applications/productivity/spreadsheet/functions.rst:917 -#: ../../content/applications/productivity/spreadsheet/functions.rst:933 -#: ../../content/applications/productivity/spreadsheet/functions.rst:947 -#: ../../content/applications/productivity/spreadsheet/functions.rst:963 -#: ../../content/applications/productivity/spreadsheet/functions.rst:1001 -#: ../../content/applications/productivity/spreadsheet/functions.rst:1025 -msgid "Description or link" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:161 +msgid "Comments and chatter" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:41 -#: ../../content/applications/productivity/spreadsheet/functions.rst:850 -msgid "ARRAY.CONSTRAIN(input_range, rows, columns)" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:163 +msgid "Odoo Spreadsheet offers two ways to communicate with other users who have access to the same spreadsheet, namely by using:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:42 -#: ../../content/applications/productivity/spreadsheet/functions.rst:851 -msgid "Returns a result array constrained to a specific width and height (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:166 +msgid ":ref:`comments `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:43 -msgid "CHOOSECOLS(array, col_num, [col_num2, ...])" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:167 +msgid "the spreadsheet's :ref:`chatter thread `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:44 -msgid "`Excel CHOOSECOLS article `_" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:172 +msgid "Use comments in a spreadsheet" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:45 -msgid "CHOOSEROWS(array, row_num, [row_num2, ...])" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:174 +msgid "Comments, which are added to individual spreadsheet cells, are useful for discussing specific elements of a spreadsheet. Other collaborators can be notified by typing `@` followed by their name." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:46 -msgid "`Excel CHOOSEROWS article `_" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:179 +msgid "Only the spreadsheet's owner or users with :guilabel:`Editor` rights can use comments in a spreadsheet; both roles can perform the same actions. Comments are not visible to users with :guilabel:`Viewer` rights." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:47 -msgid "EXPAND(array, rows, [columns], [pad_with])" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:186 +msgid "Add or react to comments" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:48 -msgid "`Excel EXPAND article `_" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:188 +msgid "To add or react to a comment:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:49 -#: ../../content/applications/productivity/spreadsheet/functions.rst:852 -msgid "FLATTEN(range, [range2, ...])" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:190 +msgid "If the comment is:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:50 -#: ../../content/applications/productivity/spreadsheet/functions.rst:853 -msgid "Flattens all the values from one or more ranges into a single column (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:192 +msgid "the first comment being added to the cell, right-click the cell then click :icon:`os-comments` :guilabel:`Insert comment` or click :menuselection:`Insert -->` :icon:`os-comments` :menuselection:`Insert comment` from the menu bar." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:51 -msgid "FREQUENCY(data, classes)" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:195 +msgid "a reaction to an existing comment thread on a cell, click on the relevant cell or on the comment thread to open the thread." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:52 -msgid "`Excel FREQUENCY article `_" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:198 +msgid "Type a comment in the text box." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:53 -msgid "HSTACK(range1, [range2, ...])" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:202 +msgid "Click the :icon:`fa-plus-circle` icon, then:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:54 -msgid "`Excel HSTACK article `_" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:204 +msgid ":guilabel:`Add from Documents` to add a file saved in the Documents app" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:55 -msgid "MDETERM(square_matrix)" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:205 +msgid ":icon:`oi-gif-picker` :guilabel:`Add GIFS` to add GIFs (if this is enabled in the :guilabel:`General Settings`)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:56 -msgid "`Excel MDETERM article `_" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:208 +msgid "Click :icon:`fa-smile-o` :guilabel:`(Add Emojis)` to add emojis." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:57 -msgid "MINVERSE(square_matrix)" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:209 +msgid "Type `@` followed by a user's name to tag them in the comment." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:58 -msgid "`Excel MINVERSE article `_" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:211 +msgid "Click the :icon:`fa-send-o` :guilabel:`(Log)` icon or press `Enter` to log the comment." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:59 -msgid "MMULT(matrix1, matrix2)" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:213 +msgid "Click anywhere else in the spreadsheet to close the comment thread." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:60 -msgid "`Excel MMULT article `_" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:216 +msgid "To react to an individual comment with only an emoji, hover over the comment, click the :icon:`oi-smile-add` :guilabel:`(Add a Reaction)` icon, then select the desired emoji." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:61 -msgid "SUMPRODUCT(range1, [range2, ...])" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:222 +msgid "View comments" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:62 -msgid "`Excel SUMPRODUCT article `_" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:224 +msgid "When a comment has been added to a cell, a small yellow triangle appears in the top right corner of the cell." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:63 -msgid "SUMX2MY2(array_x, array_y)" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:227 +msgid "To view a comment thread on a single cell, hover over the cell; click the cell or the comment thread to open the thread to be able to add a comment." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:64 -msgid "`Excel SUMX2MY2 article `_" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:230 +msgid "To view all comments on a spreadsheet, click :menuselection:`View -->` :icon:`os-comments` :menuselection:`All comments` from the menu bar. Alternatively, after opening a comment thread, click :guilabel:`Open all comments`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:65 -msgid "SUMX2PY2(array_x, array_y)" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:234 +msgid "The :guilabel:`Comments` panel opens on the right side of the spreadsheet. By default, comment threads for :guilabel:`All sheets` of the spreadsheet are shown, grouped by sheet. To see only the comment threads for the current sheet, select :guilabel:`This sheet` in the :guilabel:`Filter comments` field." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:66 -msgid "`Excel SUMX2PY2 article `_" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:239 +msgid "Click on a comment thread in the :guilabel:`Comments` panel to open it." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:67 -msgid "SUMXMY2(array_x, array_y)" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:244 +msgid "Edit or delete comments" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:68 -msgid "`Excel SUMXMY2 article `_" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:247 +msgid "A spreadsheet's owner or users with :guilabel:`Editor` rights can edit or delete any comment." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:69 -msgid "TOCOL(array, [ignore], [scan_by_column])" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:249 +msgid "To edit a comment:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:70 -msgid "`Excel TOCOL article `_" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:251 +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:261 +msgid "Hover over the comment, then click the :icon:`fa-ellipsis-v` :guilabel:`(ellipsis)` icon." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:71 -msgid "TOROW(array, [ignore], [scan_by_column])" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:252 +msgid "Click :icon:`fa-pencil` :guilabel:`Edit`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:72 -msgid "`Excel TOROW article `_" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:253 +msgid "Make the desired changes, then click :guilabel:`Save` or press `Enter`. To abort the edit, click :guilabel:`Cancel` or press `Escape`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:73 -msgid "TRANSPOSE(range)" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:257 +msgid "A comment that has been modified has *(edited)* added to the end of the text." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:74 -msgid "`Excel TRANSPOSE article `_" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:259 +msgid "To delete a comment:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:75 -msgid "VSTACK(range1, [range2, ...])" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:262 +msgid "Click :icon:`fa-trash` :guilabel:`Delete`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:76 -msgid "`Excel VSTACK article `_" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:263 +msgid "Click :guilabel:`Confirm` to confirm the deletion." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:77 -msgid "WRAPCOLS(range, wrap_count, [pad_with])" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:268 +msgid "Resolve comment threads" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:78 -msgid "`Excel WRAPCOLS article `_" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:270 +msgid "To resolve a comment thread:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:79 -msgid "WRAPROWS(range, wrap_count, [pad_with])" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:272 +msgid "Access the :guilabel:`Comments` panel by clicking :menuselection:`View -->` :icon:`os-comments` :menuselection:`All comments` from the menu bar. Alternatively, with a comment thread open, click :guilabel:`Open all comments`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:80 -msgid "`Excel WRAPROWS article `_" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:275 +msgid "Click the :icon:`fa-ellipsis-v` :guilabel:`(ellipsis)` icon for the relevant comment thread, then click :guilabel:`Resolve this thread`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:85 -msgid "Database" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:278 +msgid "Once resolved, the comment thread is no longer accessible directly on the spreadsheet, but remains visible in the :guilabel:`Comments` panel; resolved threads are identified by a :icon:`fa-check` :guilabel:`(check)` icon." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:93 -msgid "DAVERAGE(database, field, criteria)" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:282 +msgid "To reopen a resolved comment thread, from the :guilabel:`Comments` panel, click the :icon:`fa-ellipsis-v` :guilabel:`(ellipsis)` icon for the relevant comment thread, then click :guilabel:`Re-open this thread`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:94 -msgid "`Excel DAVERAGE article `_" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:289 +msgid "Use a spreadsheet's chatter thread" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:95 -msgid "DCOUNT(database, field, criteria)" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:291 +msgid "Whereas :ref:`comments ` on specific spreadsheet cells are suited for discussions about specific elements of a spreadsheet, a spreadsheet’s :doc:`chatter thread <../discuss/chatter>` allows for a more general discussion." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:96 -msgid "`Excel DCOUNT article `_" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:295 +msgid "To access the chatter thread of a spreadsheet:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:97 -msgid "DCOUNTA(database, field, criteria)" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:297 +msgid "With the **Documents** app open, navigate to the folder or section where the spreadsheet is saved." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:98 -msgid "`Excel DCOUNTA article `_" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:299 +msgid "Select the :icon:`oi-view-list` :guilabel:`(List)` view in the upper-right corner." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:99 -msgid "DGET(database, field, criteria)" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:300 +msgid "Select the relevant spreadsheet, then click the :icon:`fa-info-circle` :guilabel:`(Info & tags)` button in the upper-right corner next to the view selector. Alternatively, with the spreadsheet selected, click the :icon:`fa-cog` :guilabel:`Action` button, then select :icon:`fa-info-circle` :guilabel:`(Info & tags)`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:100 -msgid "`Excel DGET article `_" +#: ../../content/applications/productivity/spreadsheet/share_collaborate.rst:305 +msgid "The spreadsheet’s chatter thread opens on the right of the screen, below the spreadsheet's :ref:`details panel `." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:101 -msgid "DMAX(database, field, criteria)" +#: ../../content/applications/productivity/spreadsheet/visualize_data.rst:5 +msgid "Present and visualize data" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:102 -msgid "`Excel DMAX article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:3 +msgid "Charts" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:103 -msgid "DMIN(database, field, criteria)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:5 +msgid "Charts present data visually, making them a user-friendly way to show patterns, trends, and relationships between data." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:104 -msgid "`Excel DMIN article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:9 +msgid "Charts can be :ref:`created manually based on spreadsheet data ` or :ref:`inserted directly from an Odoo graph view `." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:105 -msgid "DPRODUCT(database, field, criteria)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:16 +msgid "Create a chart" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:106 -msgid "`Excel DPRODUCT article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:18 +msgid "To create a chart manually:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:107 -msgid "DSTDEV(database, field, criteria)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:20 +msgid "Select the cells containing the data you want to represent using a chart." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:108 -msgid "`Excel DSTDEV article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:21 +msgid "Click :menuselection:`Insert --> Chart` from the menu bar." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:109 -msgid "DSTDEVP(database, field, criteria)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:23 +msgid "Odoo uses the most appropriate :ref:`chart type ` for the selected data; this can be changed in the configuration section of the :ref:`chart properties `, which opens on the right side of the spreadsheet." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:110 -msgid "`Excel DSTDEVP article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:28 +msgid "Make any desired changes to the configuration or design of the chart in the :ref:`chart properties `." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:111 -msgid "DSUM(database, field, criteria)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:34 +msgid "Customize charts" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:112 -msgid "`Excel DSUM article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:36 +msgid "A chart that has been :ref:`created manually ` or :ref:`inserted from an Odoo graph view ` can be further customized via the :ref:`chart properties `." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:113 -msgid "DVAR(database, field, criteria)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:40 +msgid "Here, it is possible to modify various aspects of the chart's configuration and design via the :icon:`fa-sliders` :ref:`Configuration ` and :icon:`fa-paint-brush` :ref:`Design ` tabs respectively." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:114 -msgid "`Excel DVAR article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:45 +msgid "A chart's properties can be accessed at any time, as follows:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:115 -msgid "DVARP(database, field, criteria)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:47 +msgid "For any chart, whether manually created or inserted from an Odoo view, hover over the chart then click the :icon:`fa-bars` :guilabel:`(menu)` icon and click :icon:`fa-pencil-square-o` :guilabel:`Edit`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:116 -msgid "`Excel DVARP article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:50 +msgid "For a chart inserted from an Odoo graph view, click :guilabel:`Data` on the menu bar then select the relevant chart, as prefaced by the :icon:`fa-bar-chart` :guilabel:`(chart)` icon, e.g., :icon:`fa-bar-chart` *(#1) Sales Analysis*." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:121 -#: ../../content/applications/productivity/spreadsheet/functions.rst:856 -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:105 -msgid "Date" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:59 +msgid "The :icon:`fa-sliders` :guilabel:`Configuration` tab includes the following sections:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:129 -msgid "DATE(year, month, day)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:61 +msgid ":ref:`Chart type `: the type of chart. For a chart that has been:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:130 -msgid "`Excel DATE article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:64 +msgid "manually created, this is by default the chart type suggested by Odoo;" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:131 -msgid "DATEDIF(start_date, end_date, unit)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:65 +msgid "inserted from an Odoo graph view, this is by default the type of chart selected in the graph view before the chart was inserted in the spreadsheet." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:132 -msgid "`Excel DATEDIF article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:68 +msgid "To change the chart type, click the dropdown menu to select the desired chart type." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:133 -msgid "DATEVALUE(date_string)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:72 +msgid ":guilabel:`Link to Odoo menu`: to add a :ref:`clickable link ` from a chart to an Odoo menu item, i.e., a specific view of a model." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:134 -msgid "`Excel DATEVALUE article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:78 +msgid "Chart types" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:135 -msgid "DAY(date)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:80 +msgid "When a chart is:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:136 -msgid "`Excel DAY article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:82 +msgid ":ref:`created manually `, any of the chart types in the tabs below can be selected;" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:137 -msgid "DAYS(end_date, start_date)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:84 +msgid ":ref:`inserted directly from an Odoo graph view `, any chart type except those shown in the :guilabel:`Other` tab can be selected." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:138 -msgid "`Excel DAYS article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:90 +msgid "Line" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:139 -msgid "DAYS360(start_date, end_date, [method])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:0 +msgid "Line chart icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:140 -msgid "`Excel DAYS360 article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:95 +msgid ":guilabel:`Line`: best for showing trends or changes over time, such as sales growth across months or temperature variations." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:141 -msgid "EDATE(start_date, months)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:0 +msgid "Stacked line chart icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:142 -msgid "`Excel EDATE article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:101 +msgid ":guilabel:`Stacked Line`: useful for visualizing cumulative trends where multiple series contribute to a total, like revenue by department over time." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:143 -msgid "EOMONTH(start_date, months)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:0 +msgid "Combo chart icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:144 -msgid "`Excel EOMONTH article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:107 +msgid ":guilabel:`Combo`: combines multiple chart types (e.g., bars and lines) to compare different data types or highlight key metrics alongside trends." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:145 -msgid "HOUR(time)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:110 +msgid "Column" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:146 -msgid "`Excel HOUR article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:0 +msgid "Column chart icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:147 -msgid "ISOWEEKNUM(date)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:115 +msgid ":guilabel:`Column`: ideal for comparing values across discrete categories, such as sales per product or revenue by region." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:148 -msgid "`Excel ISOWEEKNUM article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:0 +msgid "Stacked column chart icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:149 -msgid "MINUTE(time)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:121 +msgid ":guilabel:`Stacked Column`: displays part-to-whole relationships within categories, such as regional contributions to total sales." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:150 -msgid "`Excel MINUTE article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:124 +msgid "Bar" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:151 -msgid "MONTH(date)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:0 +msgid "Bar chart icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:152 -msgid "`Excel MONTH article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:129 +msgid ":guilabel:`Bar`: similar to a column chart but horizontal, making it better for comparing long category names or datasets." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:153 -#: ../../content/applications/productivity/spreadsheet/functions.rst:864 -msgid "MONTH.END(date)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:0 +msgid "Stacked bar chart icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:154 -#: ../../content/applications/productivity/spreadsheet/functions.rst:865 -msgid "Last day of the month following a date (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:135 +msgid ":guilabel:`Stacked Bar`: highlights cumulative contributions across categories, often used in demographic or resource allocation analysis." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:155 -#: ../../content/applications/productivity/spreadsheet/functions.rst:866 -msgid "MONTH.START(date)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:138 +msgid "Area" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:156 -#: ../../content/applications/productivity/spreadsheet/functions.rst:867 -msgid "First day of the month preceding a date (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:0 +msgid "Area chart icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:157 -msgid "NETWORKDAYS(start_date, end_date, [holidays])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:143 +msgid ":guilabel:`Area`: similar to a line chart but fills the area beneath the lines to emphasize magnitude, perfect for cumulative metrics over time." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:158 -msgid "`Excel NETWORKDAYS article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:0 +msgid "Stacked area chart icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:159 -msgid "NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:149 +msgid ":guilabel:`Stacked Area`: visualizes the composition of changes over time, such as market share by product category." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:160 -msgid "`Excel NETWORKDAYS.INTL article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:152 +msgid "Pie" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:161 -msgid "NOW()" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:0 +msgid "Pie chart icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:162 -msgid "`Excel NOW article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:157 +msgid ":guilabel:`Pie`: best for showing proportions or percentages of a whole, such as market share or budget allocation." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:163 -#: ../../content/applications/productivity/spreadsheet/functions.rst:868 -msgid "QUARTER(date)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:0 +msgid "Doughnut chart icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:164 -#: ../../content/applications/productivity/spreadsheet/functions.rst:869 -msgid "Quarter of the year a specific date falls in (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:163 +msgid ":guilabel:`Doughnut`: A variation of the pie chart with a hollow center, offering similar use cases but with a modern aesthetic." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:165 -#: ../../content/applications/productivity/spreadsheet/functions.rst:870 -msgid "QUARTER.END(date)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:166 +msgid "Hierarchical" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:166 -#: ../../content/applications/productivity/spreadsheet/functions.rst:871 -msgid "Last day of the quarter of the year a specific date falls in (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:0 +msgid "Sunburst chart icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:167 -#: ../../content/applications/productivity/spreadsheet/functions.rst:872 -msgid "QUARTER.START(date)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:171 +msgid ":guilabel:`Sunburst`: a variation of the doughnut chart with hierarchical rings, showcasing part-to-whole relationships across multiple levels." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:168 -#: ../../content/applications/productivity/spreadsheet/functions.rst:873 -msgid "First day of the quarter of the year a specific date falls in (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:0 +msgid "Treemap chart icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:169 -msgid "SECOND(time)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:177 +msgid ":guilabel:`Treemap`: a multi-level rectangular chart that displays hierarchical data through nested rectangles, ideal for illustrating proportions and categories." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:170 -msgid "`Excel SECOND article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:180 +msgid "Miscellaneous" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:171 -msgid "TIME(hour, minute, second)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:0 +msgid "Scatter chart icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:172 -msgid "`Excel TIME article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:185 +msgid ":guilabel:`Scatter`: ideal for analyzing relationships or correlations between two numerical variables, such as price vs. quantity sold." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:173 -msgid "TIMEVALUE(time_string)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:0 +msgid "Waterfall chart icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:174 -msgid "`Excel TIMEVALUE article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:191 +msgid ":guilabel:`Waterfall`: ideal for visualizing cumulative effects of sequential positive and negative values, such as profit/loss analysis." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:175 -msgid "TODAY()" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:0 +msgid "Population pyramid chart icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:176 -msgid "`Excel TODAY article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:197 +msgid ":guilabel:`Population Pyramid`: a specialized chart for comparing distributions, often used in demographics, such as age and gender group analysis." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:177 -msgid "WEEKDAY(date, [type])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:0 +msgid "Radar chart icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:178 -msgid "`Excel WEEKDAY article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:203 +msgid ":guilabel:`Radar`: displays multivariate data as a polygon on axes radiating from a center, allowing for profile comparisons across multiple variables." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:179 -msgid "WEEKNUM(date, [type])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:0 +msgid "Filled radar chart icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:180 -msgid "`Excel WEEKNUM article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:209 +msgid ":guilabel:`Filled radar`: fills the area within the radar chart's polygon, emphasizing the overall magnitude of values across different attributes for comparison." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:181 -msgid "WORKDAY(start_date, num_days, [holidays])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:0 +msgid "Geo chart icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:182 -msgid "`Excel WORKDAY article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:215 +msgid ":guilabel:`Geo`: visualizes data on a map using color variations to represent values or categories across different geographical regions." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:183 -msgid "WORKDAY.INTL(start_date, num_days, [weekend], [holidays])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:0 +msgid "Funnel chart icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:184 -msgid "`Excel WORKDAY.INTL article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:221 +msgid ":guilabel:`Funnel`: visualizes data that progressively decreases over stages of a process, with the option to display cumulative data for each stage." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:185 -msgid "YEAR(date)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:224 +msgid "Other" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:186 -msgid "`Excel YEAR article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:226 +msgid "When creating a chart from spreadsheet data, rather than inserting one from a graph view, the following chart types are also available:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:187 -#: ../../content/applications/productivity/spreadsheet/functions.rst:874 -msgid "YEAR.END(date)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:0 +msgid "Gauge chart icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:188 -#: ../../content/applications/productivity/spreadsheet/functions.rst:875 -msgid "Last day of the year a specific date falls in (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:232 +msgid ":guilabel:`Gauge`: displays progress toward a goal or a single key metric, such as performance against a target." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:189 -#: ../../content/applications/productivity/spreadsheet/functions.rst:876 -msgid "YEAR.START(date)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:0 +msgid "Scorecard icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:190 -#: ../../content/applications/productivity/spreadsheet/functions.rst:877 -msgid "First day of the year a specific date falls in (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:238 +msgid ":guilabel:`Scorecard`: used to summarize key performance indicators (KPIs) in a compact format, such as total sales or conversion rates, and compare to a baseline or a previous value." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:191 -#: ../../content/applications/productivity/spreadsheet/functions.rst:878 -msgid "YEARFRAC(start_date, end_date, [day_count_convention])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:245 +msgid "Design" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:192 -#: ../../content/applications/productivity/spreadsheet/functions.rst:879 -msgid "Exact number of years between two dates (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:247 +msgid "Depending on the chart type, the :icon:`fa-paint-brush` :guilabel:`Design` tab has one or more sections." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:197 -msgid "Engineering" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:250 +msgid "The :guilabel:`General` section allows you to modify the following elements:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:205 -msgid "DELTA(number1, [number2])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:252 +msgid ":guilabel:`Background color`: Add or change the background color by clicking on the color dot. Choose one of the standard colors or click the :icon:`fa-plus` icon to manually select a custom color." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:206 -msgid "`Excel DELTA article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:255 +msgid ":guilabel:`Chart title`: Edit the chart title, if needed. The font formatting, horizontal alignment, font size, and color of the title can be modified using the editor." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:211 -msgid "Filter" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:257 +msgid ":guilabel:`Legend position`: Change the position of the legend or opt to have no legend." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:219 -msgid "FILTER(range, condition1, [condition2, ...])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:258 +msgid "Enable :guilabel:`Show values` to add numeric values to the data points on the chart." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:220 -msgid "`Excel FILTER article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:261 +msgid "The :guilabel:`Data Series` section allows you to modify the following elements:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:221 -msgid "ODOO.FILTER.VALUE(filter_name)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:263 +msgid ":guilabel:`Series color`: With the relevant data series selected, change the color of the related data points on the chart by clicking on the color dot circle. Choose one of the standard colors or click the :icon:`fa-plus` icon to manually select a custom color." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:222 -msgid "Returns the current value of a spreadsheet filter (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:266 +msgid ":guilabel:`Series name`: Edit the name of a data series, if needed." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:223 -msgid "SORT(range, [sort_column, ...], [is_ascending, ...])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:267 +msgid ":guilabel:`Serie type`: For each data series of a :guilabel:`Combo` chart, determine whether the series is shown as a :guilabel:`Bar` or :guilabel:`Line`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:224 -msgid "`Excel SORT article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:269 +msgid ":guilabel:`Vertical axis`: For the selected data series of a :guilabel:`Line`, :guilabel:`Area`, or :guilabel:`Column` chart, select whether it should be displayed on the :guilabel:`Left` (primary) or :guilabel:`Right` (secondary) vertical axis." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:225 -msgid "UNIQUE(range, [by_column], [exactly_once])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:272 +msgid ":guilabel:`Trend line`: With the relevant data series selected, enable :guilabel:`Show trend line` then select the type of trend line from the dropdown; the options are :guilabel:`Linear`, :guilabel:`Exponential`, :guilabel:`Polynomial`, :guilabel:`Logarithmic`, and :guilabel:`Trailing moving average`. The color of the trend line can be changed by clicking on the color circle." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:226 -msgid "`Excel UNIQUE article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:277 +msgid "The :guilabel:`Axes` section allows you add a title to one or both axes of a chart. The font formatting, horizontal alignment, font size, and color of the title can be modified using the editor." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:231 -#: ../../content/applications/productivity/spreadsheet/functions.rst:882 -msgid "Financial" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:281 +msgid "Waterfall charts have a dedicated :guilabel:`Waterfall design` section." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:239 -msgid "ACCRINTM(issue, maturity, rate, redemption, [day_count_convention])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:286 +msgid "Manage charts" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:240 -msgid "`Excel ACCRINTM article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:288 +msgid "To reposition a chart within the same sheet, select the chart then drag it to the desired position. Resize a chart by selecting it, then clicking and dragging the blue markers until the chart is the desired size." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:241 -msgid "AMORLINC(cost, purchase_date, first_period_end, salvage, period, rate, [day_count_convention])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:292 +msgid "Hovering over the chart reveals a :icon:`fa-bars` :guilabel:`(menu)` icon in the top right corner of the chart. Click the menu to reveal the following options:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:242 -msgid "`Excel AMORLINC article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:295 +msgid ":icon:`fa-edit` :guilabel:`Edit` to open the :ref:`chart properties `, where various aspects of the chart's configuration and design can be modified." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:243 -msgid "COUPDAYBS(settlement, maturity, frequency, [day_count_convention])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:299 +msgid ":icon:`fa-clipboard` :guilabel:`Copy` or :icon:`os-cut` :guilabel:`Cut` to copy or cut a chart with the intention of pasting it *within the same spreadsheet*. Alternatively, with the chart selected, use the relevant keyboard shortcut to copy or cut the chart." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:244 -msgid "`Excel COUPDAYBS article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:303 +msgid "Paste the chart in the desired location by clicking :menuselection:`Edit -->` :icon:`os-paste` :menuselection:`Paste` from the menu bar or use the relevant keyboard shortcut." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:245 -msgid "COUPDAYS(settlement, maturity, frequency, [day_count_convention])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:307 +msgid "For a chart inserted from an Odoo graph view, copying/cutting and pasting a chart in this way maintains the :ref:`link between the chart and your database `. The data in the pasted chart remains up-to-date, and :ref:`clicking on a data point ` opens the related list view in the database." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:246 -msgid "`Excel COUPDAYS article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:313 +msgid ":icon:`os-copy-as-image` :guilabel:`Copy as image` to copy an image of a chart to your clipboard with the intention of pasting it *in any location within or outside your spreadsheet*." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:247 -msgid "COUPDAYSNC(settlement, maturity, frequency, [day_count_convention])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:316 +msgid "Paste the image in the desired location using the paste function of the destination program or the relevant keyboard shortcut." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:248 -msgid "`Excel COUPDAYSNC article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:320 +msgid "For a chart inserted from an Odoo graph view, copying and pasting a static image of a chart implies there is no longer any link between the chart and your database." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:249 -msgid "COUPNCD(settlement, maturity, frequency, [day_count_convention])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:323 +msgid ":icon:`fa-download` :guilabel:`Download` to download an image of the chart as as `.png` file." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:250 -msgid "`Excel COUPNCD article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:325 +msgid ":icon:`fa-trash-o` :guilabel:`Delete` to delete a chart from the spreadsheet. Alternatively, use your preferred keyboard command to delete a chart." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:251 -msgid "COUPNUM(settlement, maturity, frequency, [day_count_convention])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/charts.rst:329 +msgid "For a chart inserted from an Odoo graph view, deleting a chart also deletes the chart's underlying :ref:`data source `." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:252 -msgid "`Excel COUPNUM article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:3 +msgid "Conditional formatting" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:253 -msgid "COUPPCD(settlement, maturity, frequency, [day_count_convention])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:5 +msgid "Conditional formatting applies specific formatting, such as a background color or font color, to a range of cells that meet one or more defined criteria, or rules. This allows you to visually highlight important data, patterns, trends, or anomalies." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:254 -msgid "`Excel COUPPCD article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:10 +msgid "When a spreadsheet containing dynamic Odoo data is reopened or refreshed, any conditional formatting that has been defined is updated to reflect any changes to the data." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:255 -msgid "CUMIPMT(rate, number_of_periods, present_value, first_period, last_period, [end_or_beginning])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:13 +msgid "Different types of conditional formatting are possible:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:256 -msgid "`Excel CUMIPMT article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:15 +msgid ":ref:`Single color `: changes the color of the cell’s background or font, or changes the font formatting if cell values meet the defined conditions, e.g., changes a cell to red if an invoice is overdue." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:257 -msgid "CUMPRINC(rate, number_of_periods, present_value, first_period, last_period, [end_or_beginning])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:18 +msgid ":ref:`Color scale `: uses color intensity to represent smaller and larger values on a two- or three-color scale, e.g., shows sales performance using increasingly dark tones of the same color." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:258 -msgid "`Excel CUMPRINC article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:21 +msgid ":ref:`Icon set `: uses sets of arrows, smileys, or dots in green, orange, and red to visually show how cell values in a range compare to certain defined values, e.g., a green smiley to represent sales performance above a certain amount." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:259 -msgid "DB(cost, salvage, life, period, [month])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:24 +msgid ":ref:`Data bar `: inserts colored bars inside a cell to show how a value compares to the value of other cells in the defined range, e.g., the customer generating the highest sales has the longest bar, with bars of decreasing length for customers generating lower sales." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:260 -msgid "`Excel DB article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:29 +msgid "To add conditional formatting to a range of cells:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:261 -msgid "DDB(cost, salvage, life, period, [factor])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:31 +msgid "Select the cells the formatting rule should apply to." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:262 -msgid "`Excel DDB article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:32 +msgid "Click :menuselection:`Format --> Conditional formatting` from the menu bar." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:263 -msgid "DISC(settlement, maturity, price, redemption, [day_count_convention])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:33 +msgid "In the :guilabel:`Conditional formatting` panel that opens to the right of the spreadsheet, click :guilabel:`+ Add another rule`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:264 -msgid "`Excel DISC article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:37 +msgid "Click :guilabel:`Add range` to select additional ranges of cells if needed." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:265 -msgid "DOLLARDE(fractional_price, unit)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:39 +msgid "Select the type of :guilabel:`Format rules`, then enter the information required depending on the rule selected." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:266 -msgid "`Excel DOLLARDE article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:45 +msgid "Single color" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:267 -msgid "DOLLARFR(decimal_price, unit)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:47 +msgid "With the range selected and :guilabel:`Single color` selected as the rule type:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:268 -msgid "`Excel DOLLARFR article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:49 +msgid "Define the conditions to be met for the formatting to be applied by choosing the desired value from the :guilabel:`Format cells if …` dropdown." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:269 -msgid "DURATION(settlement, maturity, rate, yield, frequency, [day_count_convention])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:51 +msgid "Define the :guilabel:`Formatting style` to be applied by selecting the appropriate font formatting, font color, and/or background color." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:270 -msgid "`Excel DURATION article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:53 +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:77 +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:112 +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:147 +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:135 +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:183 +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:220 +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:256 +msgid "Click :guilabel:`Save`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:271 -msgid "EFFECT(nominal_rate, periods_per_year)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:56 +msgid "In the example, single-color conditional formatting changes the background color of cells containing the value `FALSE` to red, showing at a glance which eLearning courses are not yet published." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:272 -msgid "`Excel EFFECT article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:0 +msgid "Single-color conditional formatting showing cells containing 'False' colored red" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:273 -msgid "FV(rate, number_of_periods, payment_amount, [present_value], [end_or_beginning])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:66 +msgid "Color scale" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:274 -msgid "`Excel FV article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:68 +msgid "With the range selected and :guilabel:`Color scale` selected as the rule type:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:275 -msgid "FVSCHEDULE(principal, rate_schedule)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:70 +msgid "Define what is used as the :guilabel:`Minpoint`, i.e., the lowest value, and the :guilabel:`MaxPoint`, i.e., the highest value, by selecting the appropriate category from the dropdown." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:276 -msgid "`Excel FVSCHEDULE article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:73 +msgid "Optionally, to create a three-color scale, add a :guilabel:`MidPoint`, i.e., the middle value." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:277 -msgid "INTRATE(settlement, maturity, investment, redemption, [day_count_convention])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:74 +msgid "Define the color range by choosing a color for the lowest value, i.e., the :guilabel:`Minpoint`, and the highest value, i.e., the :guilabel:`MaxPoint`. For a three-color scale, also choose a color for the :guilabel:`MidPoint`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:278 -msgid "`Excel INTRATE article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:80 +msgid "In the example, sales performance by salesperson is shown using a two-color scale, with white representing the lowest value, and increasing amounts intensifying in color towards the selected green color." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:279 -msgid "IPMT(rate, period, number_of_periods, present_value, [future_value], [end_or_beginning])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:-1 +msgid "Color scale conditional formatting showing sales performance by salesperson" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:280 -msgid "`Excel IPMT article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:87 +msgid "Adding a :guilabel:`Midpoint`, with a corresponding color, allows you to highlight performance in relation to a defined target or neutral value, e.g., below or above a target %, or to distinguish between positive or negative values." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:281 -msgid "IRR(cashflow_amounts, [rate_guess])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:94 +msgid "Icon set" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:282 -msgid "`Excel IRR article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:96 +msgid "With the range selected and :guilabel:`Icon set` selected as the rule type:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:283 -msgid "ISPMT(rate, period, number_of_periods, present_value)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:98 +msgid "Click on the set of :guilabel:`Icons` to use." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:284 -msgid "`Excel ISPMT article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:99 +msgid "For the first and second icons:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:285 -msgid "MDURATION(settlement, maturity, rate, yield, frequency, [day_count_convention])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:101 +msgid "enter the value that represents the *lower* threshold for the icon" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:286 -msgid "`Excel MDURATION article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:102 +msgid "indicate whether the cell value must be `>` :guilabel:`(greater than)` or `≥` :guilabel:`(greater than or equal to)` the threshold value" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:287 -msgid "MIRR(cashflow_amounts, financing_rate, reinvestment_return_rate)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:104 +msgid "define whether the threshold value is a :guilabel:`Number`, :guilabel:`Percentage`, :guilabel:`Percentile` or :guilabel:`Formula`" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:288 -msgid "`Excel MIRR article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:107 +msgid "The third icon is added to all cells whose values are below the threshold for the second icon." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:289 -msgid "NOMINAL(effective_rate, periods_per_year)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:110 +msgid "Click :guilabel:`Reverse icons` to reverse the order of the icons." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:290 -msgid "`Excel NOMINAL article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:115 +msgid "In the example, sales performance by salesperson is shown using a three-scale set of colored dots:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:291 -msgid "NPER(rate, payment_amount, present_value, [future_value], [end_or_beginning])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:118 +msgid "A **green** dot represents high performance, and is added to total sales amounts *greater than or equal to* $50,000." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:292 -msgid "`Excel NPER article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:120 +msgid "An **orange** dot represents average performance, and is added to total sales amounts *greater than* $25,000 (but less than $50,000 as this is the lower threshold for the green dot)." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:293 -msgid "NPV(discount, cashflow1, [cashflow2, ...])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:122 +msgid "A **red** dot represents low performance, and is added to all other amounts (i.e., amounts below below $25,000 as this is the lower threshold for the orange dot)." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:294 -msgid "`Excel NPV article `_" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:0 +msgid "Icon set conditional formatting applied to sales amounts" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:295 -#: ../../content/applications/productivity/spreadsheet/functions.rst:890 -msgid "ODOO.ACCOUNT.GROUP(type)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:131 +msgid "Data bar" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:296 -#: ../../content/applications/productivity/spreadsheet/functions.rst:891 -msgid "Returns the account ids of a given group (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:134 +msgid "Unlike other conditional formatting rules in Odoo Spreadsheet, this rule allows for the formatting to be applied either on the cells containing the values the rule is based on, or on a corresponding range of cells, e.g., on a column containing text. The :guilabel:`Apply to range` determines *where the formatting is shown*, while the :guilabel:`Range of values` determines which cells the rule is based on." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:297 -#: ../../content/applications/productivity/spreadsheet/functions.rst:892 -msgid "ODOO.CREDIT(account_codes, date_range, [offset], [company_id], [include_unposted])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:140 +msgid "With :guilabel:`Data bar` selected as the rule type:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:298 -#: ../../content/applications/productivity/spreadsheet/functions.rst:893 -msgid "Get the total credit for the specified account(s) and period (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:142 +msgid "Click below :guilabel:`Apply to range`, then, in the spreadsheet, select the range of cells *where the data bars should appear*. Click :guilabel:`Confirm`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:299 -#: ../../content/applications/productivity/spreadsheet/functions.rst:894 -msgid "ODOO.CURRENCY.RATE(currency_from, currency_to, [date])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:144 +msgid "Click on the :guilabel:`Color` dot to select the color of the data bars." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:300 -msgid "This function takes in two currency codes as arguments, and returns the exchange rate from the first currency to the second as float (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:145 +msgid "Click below :guilabel:`Range of values`, then, in the spreadsheet, select the range of cells *containing the values the rule should be based on*. Click :guilabel:`Confirm`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:301 -#: ../../content/applications/productivity/spreadsheet/functions.rst:896 -msgid "ODOO.DEBIT(account_codes, date_range, [offset], [company_id], [include_unposted])" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:150 +msgid "In the example, the rule is based on the `Total sales` amounts in column B (with the :guilabel:`Range of values` being `B2:B14`), while the formatting is applied on the `Salesperson` names in column A (with the :guilabel:`Apply to range` being `A2:A14`)." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:302 -#: ../../content/applications/productivity/spreadsheet/functions.rst:897 -msgid "Get the total debit for the specified account(s) and period (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/visualize_data/conditional_formatting.rst:0 +msgid "Data bar conditional formatting" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:303 -#: ../../content/applications/productivity/spreadsheet/functions.rst:898 -msgid "ODOO.BALANCE(account_codes, date_range, [offset], [company_id], [include_unposted])" +#: ../../content/applications/productivity/spreadsheet/work_with_data.rst:5 +msgid "Work with data" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:304 -#: ../../content/applications/productivity/spreadsheet/functions.rst:899 -msgid "Get the total balance for the specified account(s) and period (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:3 +msgid "Dynamic pivot tables" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:305 -#: ../../content/applications/productivity/spreadsheet/functions.rst:902 -msgid "ODOO.FISCALYEAR.END(day, [company_id])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:5 +msgid "When a pivot view from an Odoo database is inserted in a spreadsheet, it is by default a static pivot table. Each cell in a static pivot table contains an :ref:`Odoo-specific function ` that retrieves data from your database." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:306 -#: ../../content/applications/productivity/spreadsheet/functions.rst:903 -msgid "Returns the ending date of the fiscal year encompassing the provided date (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:-1 +msgid "Function of static pivot table cell" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:307 -#: ../../content/applications/productivity/spreadsheet/functions.rst:900 -msgid "ODOO.FISCALYEAR.START(day, [company_id])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:12 +msgid "When the corresponding data in your database changes, e.g., the sales related to a given quarter or an individual salesperson, the cells of your static pivot table are updated." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:308 -#: ../../content/applications/productivity/spreadsheet/functions.rst:901 -msgid "Returns the starting date of the fiscal year encompassing the provided date (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:15 +msgid "However, a static pivot table does not expand automatically to accommodate new data, e.g., sales data for a new quarter or for a newly hired salesperson. Neither is it possible to add or manipulate dimensions (i.e., columns or rows) or measures via the pivot table properties." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:309 -msgid "PDURATION(rate, present_value, future_value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:20 +msgid "If you attempt to update or manipulate the properties of a pivot table that has just been inserted into a spreadsheet, an error message appears in the top right corner of the screen:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:310 -msgid "`Excel PDURATION article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:26 +msgid "To have more flexibility in how you can manipulate your pivot table, you can :ref:`create a dynamic pivot table ` from a static pivot table." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:311 -msgid "PMT(rate, number_of_periods, present_value, [future_value], [end_or_beginning])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:32 +msgid "Create a dynamic pivot table" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:312 -msgid "`Excel PMT article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:34 +msgid "There are two main ways to create a dynamic pivot table from a static pivot table:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:313 -msgid "PPMT(rate, period, number_of_periods, present_value, [future_value], [end_or_beginning])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:36 +msgid "**Duplicate the static pivot table from the pivot table properties**: :ref:`Open the pivot table properties `, click the :icon:`fa-cog` (:guilabel:`gear`) icon at the top right of the pane, then click :icon:`fa-clone` :guilabel:`Duplicate`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:314 -msgid "`Excel PPMT article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:41 +msgid "A new data source is created and a dynamic version of the pivot table is inserted into a new sheet. The dynamic pivot table has the same styling as the original pivot table." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:315 -msgid "PRICE(settlement, maturity, rate, yield, redemption, frequency, [day_count_convention])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:45 +msgid "When you use this method, your new dynamic pivot table gets the next available pivot ID. This means you can create multiple pivot views associated with the same model, but with distinct settings, groupings, or calculations." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:316 -msgid "`Excel PRICE article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:49 +msgid "**Re-insert the dynamic pivot table from the Data menu**: On the sheet that contains your static pivot table, position your cursor in an empty cell. Click :menuselection:`Data -->` :icon:`os-insert-pivot` :menuselection:`Re-insert dynamic pivot` from the menu bar, then select the relevant pivot table." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:317 -msgid "PRICEDISC(settlement, maturity, discount, redemption, [day_count_convention])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:54 +msgid "A new, dynamic pivot table appears, with the same styling as the original pivot table." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:318 -msgid "`Excel PRICEDISC article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:57 +msgid "When you use this method, your static and dynamic pivot share the same data source, and, consequently, the same pivot ID. To avoid confusion, delete the original static pivot table." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:319 -msgid "PRICEMAT(settlement, maturity, issue, rate, yield, [day_count_convention])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:61 +msgid "It is also possible to directly enter the :ref:`function ` of the dynamic pivot table in an empty cell. However, with this method, the table styling needs to be re-applied manually." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:320 -msgid "`Excel PRICEMAT article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:68 +msgid "Dynamic pivot table functions" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:321 -msgid "PV(rate, number_of_periods, payment_amount, [future_value], [end_or_beginning])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:70 +msgid "Instead of each cell containing a unique function that retrieves data from your database, as in a :ref:`static pivot table `, a dynamic pivot table has a single function:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:322 -msgid "`Excel PV article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:82 +msgid "`row_count` and `column count`: the number of rows and columns respectively." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:323 -msgid "RATE(number_of_periods, payment_per_period, present_value, [future_value], [end_or_beginning], [rate_guess])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:83 +msgid "`include_total` and `include_column_titles`: values of `0` remove the total and column titles respectively." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:324 -msgid "`Excel RATE article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:86 +msgid "This is an array function, which allows the pivot table to expand automatically to accommodate the results of the function." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:325 -msgid "RECEIVED(settlement, maturity, investment, discount, [day_count_convention])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:89 +msgid "The top-left cell contains the editable function, while clicking on any other cell reveals this formula greyed out." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:326 -msgid "`Excel RECEIVED article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:-1 +msgid "Array function of a dynamic pivot table" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:327 -msgid "RRI(number_of_periods, present_value, future_value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:96 +msgid "If necessary, you can update the function of a dynamic pivot table to remove elements like the total or column titles." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:328 -msgid "`Excel RRI article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:99 +msgid "With the function open in the formula bar or the top-left cell of the pivot table, position your cursor after the pivot ID then type `,` to advance to the optional field you want to modify. In the example below, adding the value `0` for `[include_total]` removes both the row total and column total from the pivot table." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:329 -msgid "SLN(cost, salvage, life)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:0 +msgid "Modifying the function of a dynamic pivot table" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:330 -msgid "`Excel SLN article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:110 +msgid "Manipulate a dynamic pivot table" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:331 -msgid "SYD(cost, salvage, life, period)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:112 +msgid "To manipulate data in a dynamic pivot table, :ref:`open the pivot table properties `." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:332 -msgid "`Excel SYD article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:115 +msgid "The following options are available by clicking the :icon:`fa-cog` (:guilabel:`gear`) icon:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:333 -msgid "TBILLEQ(settlement, maturity, discount)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:117 +msgid ":icon:`fa-exchange` :guilabel:`Flip axes`: to move all the dimensions represented in columns to rows and vice versa." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:334 -msgid "`Excel TBILLEQ article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:121 +msgid "Flipping the axes presents the data from a different perspective, possibly bringing new insights. However, depending on the volume of data, it can result in #SPILL errors. This happens when a formula tries to output a range of values, but something is blocking those cells, such as other data, merged cells, or the boundaries of the current sheet." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:335 -msgid "TBILLPRICE(settlement, maturity, discount)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:126 +msgid "Hovering over the cell containing :guilabel:`#SPILL` details the error." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:336 -msgid "`Excel TBILLPRICE article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:128 +msgid ":icon:`fa-clone` :guilabel:`Duplicate`: to duplicate the dynamic pivot table and create a new data source with distinct properties." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:337 -msgid "TBILLYIELD(settlement, maturity, price)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:130 +msgid ":icon:`fa-trash` :guilabel:`Delete`: to delete the data source of the dynamic pivot table." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:338 -msgid "`Excel TBILLYIELD article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:133 +msgid "Deleting the data source of a pivot table does not delete the visual representation of the data. Delete the table from the spreadsheet using your preferred means, e.g., via keyboard commands, spreadsheet menus, or by deleting the sheet." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:339 -msgid "VDB(cost, salvage, life, start, end, [factor], [no_switch])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:140 +msgid "Dimensions" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:340 -msgid "`Excel VDB article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:142 +msgid "The dimensions of the pivot table, i.e., how the data is grouped, are placed in :guilabel:`Columns` and :guilabel:`Rows` according to how they appeared in the pivot view in your database, i.e., before the pivot table was inserted in the spreadsheet." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:341 -msgid "XIRR(cashflow_amounts, cashflow_dates, [rate_guess])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:146 +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:169 +msgid "You can:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:342 -msgid "`Excel XIRR article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:148 +msgid "add new dimensions by clicking :guilabel:`Add`" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:343 -msgid "XNPV(discount, cashflow_amounts, cashflow_dates)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:149 +msgid "delete existing dimensions by clicking the :icon:`fa-trash` :guilabel:`(delete)` icon on the relevant dimension" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:344 -msgid "`Excel XNPV article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:151 +msgid "change the order in which dimensions are displayed in :guilabel:`Columns` or :guilabel:`Rows` by clicking then dragging the dimension to the desired position within its respective section" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:345 -msgid "YIELD(settlement, maturity, rate, price, redemption, frequency, [day_count_convention])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:153 +msgid "change the axis on which a dimension is shown by clicking then dragging the dimension from :guilabel:`Columns` to :guilabel:`Rows` or vice versa" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:346 -msgid "`Excel YIELD article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:155 +msgid "change how a dimension's values are ordered by selecting :guilabel:`Ascending`, :guilabel:`Descending`, or :guilabel:`Unsorted` in the :guilabel:`Order by` field" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:347 -msgid "YIELDDISC(settlement, maturity, price, redemption, [day_count_convention])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:157 +msgid "for date- or time-based dimensions, select the desired :guilabel:`Granularity` from the options in the dropdown menu" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:348 -msgid "`Excel YIELDDISC article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:163 +msgid "Measures" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:349 -msgid "YIELDMAT(settlement, maturity, issue, rate, price, [day_count_convention])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:165 +msgid "The measures of your pivot table, i.e., what you are measuring, or analyzing, based on the dimensions you have chosen, are listed in the order they appeared in the pivot view in your database." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:350 -msgid "`Excel YIELDMAT article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:171 +msgid "add new measures, including :ref:`calculated measures `, by clicking :guilabel:`Add`" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:355 -msgid "Info" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:174 +msgid "hide (:icon:`fa-eye`), show (:icon:`fa-eye-slash`), or delete (:icon:`fa-trash`) existing measures" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:363 -msgid "CELL(info_type, reference)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:175 +msgid "edit the name of existing measures by clicking on the measure's name" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:364 -msgid "`Excel CELL article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:176 +msgid "change the order in which measures are displayed by clicking then dragging the measure to the desired position" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:365 -msgid "ISBLANK(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:178 +msgid "change how measures are displayed by clicking the :icon:`fa-cog` :guilabel:`(gear)` icon, then selecting the desired option from the dropdown menu, e.g., :guilabel:`% of grand total` or :guilabel:`Rank smallest to largest`. The pivot table data updates dynamically as different options are selected." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:366 -#: ../../content/applications/productivity/spreadsheet/functions.rst:368 -#: ../../content/applications/productivity/spreadsheet/functions.rst:370 -#: ../../content/applications/productivity/spreadsheet/functions.rst:372 -#: ../../content/applications/productivity/spreadsheet/functions.rst:374 -#: ../../content/applications/productivity/spreadsheet/functions.rst:376 -#: ../../content/applications/productivity/spreadsheet/functions.rst:378 -#: ../../content/applications/productivity/spreadsheet/functions.rst:380 -msgid "`Excel IS article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:182 +msgid "choose how measures are aggregated, e.g., by :guilabel:`Sum`, :guilabel:`Average`, :guilabel:`Minimum`" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:367 -msgid "ISERR(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:186 +msgid "To sort the values of a dynamic pivot table by measure for a specific dimension, right-click any pivot table value, then click :icon:`os-sort-range` :guilabel:`Sort pivot` and select :guilabel:`Ascending` or :guilabel:`Descending` from the dropdown. To return to the default order, follow the same steps then select :guilabel:`No sorting` from the dropdown." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:369 -msgid "ISERROR(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:194 +msgid "Calculated measures" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:371 -msgid "ISLOGICAL(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:196 +msgid "It is possible to add calculated measures if the desired measure did not exist in the original pivot view. For example, a calculated measure could be added to show the average revenue per order or the profit margin per product." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:373 -msgid "ISNA(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:200 +msgid "To add a calculated measure:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:375 -msgid "ISNONTEXT(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:202 +msgid "From the :guilabel:`Measures` section of the pivot table properties, click :guilabel:`Add`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:377 -msgid "ISNUMBER(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:203 +msgid "Below the scrollable list, click :icon:`os-formula` :guilabel:`Add calculated measure`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:379 -msgid "ISTEXT(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:204 +msgid "Rename the calculated measure by clicking on the name and typing." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:381 -msgid "NA()" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:205 +msgid "Click on the line starting with `=` and enter the formula." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:382 -msgid "`Excel NA article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:208 +msgid "In the below example, the average revenue per order is added by dividing the sum of the sales by the number of orders." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:387 -msgid "Logical" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:0 +msgid "Formula for a calculated measure" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:395 -msgid "AND(logical_expression1, [logical_expression2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:214 +msgid "Choose how the measure should be aggregated by selecting a value from the dropdown." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:396 -msgid "`Excel AND article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/dynamic_pivot_tables.rst:217 +msgid "There are advantages to using a static pivot table, for example, being able to see the functions behind individual cells. To have this possibility, select the relevant portion of your dynamic pivot table, copy it, then paste it into an empty part of the sheet. Click on any pasted cell to see the :ref:`Odoo function ` used to retrieve the data." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:397 -msgid "FALSE()" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:3 +msgid "Functions" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:398 -msgid "`Excel FALSE article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:5 +msgid "**Odoo Spreadsheet** supports formulas and functions found in most spreadsheet solutions. This page presents the available functions by category. Odoo-specific functions are included both in the relevant category and in a dedicated :ref:`Odoo ` category:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:399 -msgid "IF(logical_expression, value_if_true, [value_if_false])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:9 +msgid ":ref:`Array `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:400 -msgid "`Excel IF article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:10 +msgid ":ref:`Database `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:401 -msgid "IFERROR(value, [value_if_error])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:11 +msgid ":ref:`Date `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:402 -msgid "`Excel IFERROR article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:12 +msgid ":ref:`Engineering `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:403 -msgid "IFNA(value, [value_if_error])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:13 +msgid ":ref:`Filter `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:404 -msgid "`Excel IFNA article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:14 +msgid ":ref:`Financial `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:405 -msgid "IFS(condition1, value1, [condition2, ...], [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:15 +msgid ":ref:`Info `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:406 -msgid "`Excel IFS article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:16 +msgid ":ref:`Logical `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:407 -msgid "NOT(logical_expression)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:17 +msgid ":ref:`Lookup `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:408 -msgid "`Excel NOT article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:18 +msgid ":ref:`Math `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:409 -msgid "OR(logical_expression1, [logical_expression2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:19 +msgid ":ref:`Operators `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:410 -msgid "`Excel OR article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:20 +msgid ":ref:`Parser `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:411 -msgid "SWITCH(expression, case1, value1, [case2, ...], [value2, ...], [default])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:21 +msgid ":ref:`Statistical `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:412 -msgid "`Excel SWITCH article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:22 +msgid ":ref:`Text `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:413 -msgid "TRUE()" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:23 +msgid ":ref:`Web `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:414 -msgid "`Excel TRUE article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:24 +msgid ":ref:`Odoo-specific functions `" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:415 -msgid "XOR(logical_expression1, [logical_expression2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:27 +msgid "Formulas containing functions that are not compatible with Excel are replaced by their evaluated result when exporting a spreadsheet." msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:416 -msgid "`Excel XOR article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:33 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:842 +msgid "Array" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:421 -#: ../../content/applications/productivity/spreadsheet/functions.rst:910 -msgid "Lookup" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:39 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:91 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:127 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:203 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:217 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:237 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:361 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:393 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:427 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:471 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:599 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:641 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:655 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:775 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:829 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:848 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:862 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:888 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:916 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:932 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:946 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:962 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:1000 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:1024 +msgid "Name and arguments" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:429 -msgid "ADDRESS(row, column, [absolute_relative_mode], [use_a1_notation], [sheet])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:40 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:92 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:128 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:204 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:218 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:238 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:362 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:394 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:428 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:472 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:600 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:642 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:656 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:776 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:830 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:849 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:863 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:889 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:917 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:933 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:947 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:963 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:1001 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:1025 +msgid "Description or link" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:430 -msgid "`Excel ADDRESS article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:41 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:850 +msgid "ARRAY.CONSTRAIN(input_range, rows, columns)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:431 -msgid "COLUMN([cell_reference])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:42 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:851 +msgid "Returns a result array constrained to a specific width and height (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:432 -msgid "`Excel COLUMN article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:43 +msgid "CHOOSECOLS(array, col_num, [col_num2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:433 -msgid "COLUMNS(range)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:44 +msgid "`Excel CHOOSECOLS article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:434 -msgid "`Excel COLUMNS article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:45 +msgid "CHOOSEROWS(array, row_num, [row_num2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:435 -msgid "HLOOKUP(search_key, range, index, [is_sorted])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:46 +msgid "`Excel CHOOSEROWS article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:436 -msgid "`Excel HLOOKUP article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:47 +msgid "EXPAND(array, rows, [columns], [pad_with])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:437 -msgid "INDEX(reference, row, column)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:48 +msgid "`Excel EXPAND article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:438 -msgid "`Excel INDEX article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:49 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:852 +msgid "FLATTEN(range, [range2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:439 -msgid "INDIRECT(reference, [use_a1_notation])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:50 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:853 +msgid "Flattens all the values from one or more ranges into a single column (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:440 -msgid "`Excel INDIRECT article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:51 +msgid "FREQUENCY(data, classes)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:441 -msgid "LOOKUP(search_key, search_array, [result_range])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:52 +msgid "`Excel FREQUENCY article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:442 -msgid "`Excel LOOKUP article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:53 +msgid "HSTACK(range1, [range2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:443 -msgid "MATCH(search_key, range, [search_type])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:54 +msgid "`Excel HSTACK article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:444 -msgid "`Excel MATCH article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:55 +msgid "MDETERM(square_matrix)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:445 -msgid "OFFSET(reference, rows, cols, [height], [width])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:56 +msgid "`Excel MDETERM article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:446 -msgid "`Excel OFFSET article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:57 +msgid "MINVERSE(square_matrix)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:447 -#: ../../content/applications/productivity/spreadsheet/functions.rst:918 -msgid "PIVOT(pivot_id, [row_count], [include_total], [include_column_titles], [column_count])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:58 +msgid "`Excel MINVERSE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:448 -#: ../../content/applications/productivity/spreadsheet/functions.rst:919 -msgid "Get a pivot table (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:59 +msgid "MMULT(matrix1, matrix2)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:449 -#: ../../content/applications/productivity/spreadsheet/functions.rst:920 -msgid "PIVOT.HEADER(pivot_id, [domain_field_name, ...], [domain_value, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:60 +msgid "`Excel MMULT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:450 -#: ../../content/applications/productivity/spreadsheet/functions.rst:921 -msgid "Get the header of a pivot table (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:61 +msgid "SUMPRODUCT(range1, [range2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:451 -#: ../../content/applications/productivity/spreadsheet/functions.rst:922 -msgid "PIVOT.VALUE(pivot_id, measure_name, [domain_field_name, ...], [domain_value, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:62 +msgid "`Excel SUMPRODUCT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:452 -#: ../../content/applications/productivity/spreadsheet/functions.rst:923 -msgid "Get the value from a pivot table (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:63 +msgid "SUMX2MY2(array_x, array_y)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:453 -msgid "ROW([cell_reference])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:64 +msgid "`Excel SUMX2MY2 article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:454 -msgid "`Excel ROW article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:65 +msgid "SUMX2PY2(array_x, array_y)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:455 -msgid "ROWS(range)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:66 +msgid "`Excel SUMX2PY2 article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:456 -msgid "`Excel ROWS article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:67 +msgid "SUMXMY2(array_x, array_y)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:457 -msgid "VLOOKUP(search_key, range, index, [is_sorted])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:68 +msgid "`Excel SUMXMY2 article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:458 -msgid "`Excel VLOOKUP article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:69 +msgid "TOCOL(array, [ignore], [scan_by_column])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:459 -msgid "XLOOKUP(search_key, lookup_range, return_range, [if_not_found], [match_mode], [search_mode])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:70 +msgid "`Excel TOCOL article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:460 -msgid "`Excel XLOOKUP article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:71 +msgid "TOROW(array, [ignore], [scan_by_column])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:465 -#: ../../content/applications/productivity/spreadsheet/functions.rst:926 -msgid "Math" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:72 +msgid "`Excel TOROW article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:473 -msgid "ABS(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:73 +msgid "TRANSPOSE(range)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:474 -msgid "`Excel ABS article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:74 +msgid "`Excel TRANSPOSE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:475 -msgid "ACOS(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:75 +msgid "VSTACK(range1, [range2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:476 -msgid "`Excel ACOS article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:76 +msgid "`Excel VSTACK article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:477 -msgid "ACOSH(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:77 +msgid "WRAPCOLS(range, wrap_count, [pad_with])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:478 -msgid "`Excel ACOSH article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:78 +msgid "`Excel WRAPCOLS article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:479 -msgid "ACOT(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:79 +msgid "WRAPROWS(range, wrap_count, [pad_with])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:480 -msgid "`Excel ACOT article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:80 +msgid "`Excel WRAPROWS article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:481 -msgid "ACOTH(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:85 +msgid "Database" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:482 -msgid "`Excel ACOTH article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:93 +msgid "DAVERAGE(database, field, criteria)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:483 -msgid "ASIN(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:94 +msgid "`Excel DAVERAGE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:484 -msgid "`Excel ASIN article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:95 +msgid "DCOUNT(database, field, criteria)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:485 -msgid "ASINH(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:96 +msgid "`Excel DCOUNT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:486 -msgid "`Excel ASINH article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:97 +msgid "DCOUNTA(database, field, criteria)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:487 -msgid "ATAN(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:98 +msgid "`Excel DCOUNTA article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:488 -msgid "`Excel ATAN article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:99 +msgid "DGET(database, field, criteria)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:489 -msgid "ATAN2(x, y)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:100 +msgid "`Excel DGET article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:490 -msgid "`Excel ATAN2 article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:101 +msgid "DMAX(database, field, criteria)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:491 -msgid "ATANH(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:102 +msgid "`Excel DMAX article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:492 -msgid "`Excel ATANH article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:103 +msgid "DMIN(database, field, criteria)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:493 -msgid "CEILING(value, [factor])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:104 +msgid "`Excel DMIN article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:494 -msgid "`Excel CEILING article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:105 +msgid "DPRODUCT(database, field, criteria)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:495 -msgid "CEILING.MATH(number, [significance], [mode])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:106 +msgid "`Excel DPRODUCT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:496 -msgid "`Excel CEILING.MATH article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:107 +msgid "DSTDEV(database, field, criteria)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:497 -msgid "CEILING.PRECISE(number, [significance])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:108 +msgid "`Excel DSTDEV article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:498 -msgid "`Excel CEILING.PRECISE article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:109 +msgid "DSTDEVP(database, field, criteria)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:499 -msgid "COS(angle)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:110 +msgid "`Excel DSTDEVP article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:500 -msgid "`Excel COS article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:111 +msgid "DSUM(database, field, criteria)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:501 -msgid "COSH(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:112 +msgid "`Excel DSUM article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:502 -msgid "`Excel COSH article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:113 +msgid "DVAR(database, field, criteria)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:503 -msgid "COT(angle)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:114 +msgid "`Excel DVAR article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:504 -msgid "`Excel COT article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:115 +msgid "DVARP(database, field, criteria)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:505 -msgid "COTH(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:116 +msgid "`Excel DVARP article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:506 -msgid "`Excel COTH article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:129 +msgid "DATE(year, month, day)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:507 -msgid "COUNTBLANK(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:130 +msgid "`Excel DATE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:508 -msgid "`Excel COUNTBLANK article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:131 +msgid "DATEDIF(start_date, end_date, unit)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:509 -msgid "COUNTIF(range, criterion)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:132 +msgid "`Excel DATEDIF article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:510 -msgid "`Excel COUNTIF article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:133 +msgid "DATEVALUE(date_string)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:511 -msgid "COUNTIFS(criteria_range1, criterion1, [criteria_range2, ...], [criterion2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:134 +msgid "`Excel DATEVALUE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:512 -msgid "`Excel COUNTIFS article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:135 +msgid "DAY(date)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:513 -msgid "CSC(angle)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:136 +msgid "`Excel DAY article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:514 -msgid "`Excel CSC article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:137 +msgid "DAYS(end_date, start_date)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:515 -msgid "CSCH(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:138 +msgid "`Excel DAYS article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:516 -msgid "`Excel CSCH article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:139 +msgid "DAYS360(start_date, end_date, [method])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:517 -msgid "DECIMAL(value, base)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:140 +msgid "`Excel DAYS360 article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:518 -msgid "`Excel DECIMAL article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:141 +msgid "EDATE(start_date, months)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:519 -msgid "DEGREES(angle)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:142 +msgid "`Excel EDATE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:520 -msgid "`Excel DEGREES article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:143 +msgid "EOMONTH(start_date, months)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:521 -msgid "EXP(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:144 +msgid "`Excel EOMONTH article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:522 -msgid "`Excel EXP article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:145 +msgid "HOUR(time)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:523 -msgid "FLOOR(value, [factor])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:146 +msgid "`Excel HOUR article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:524 -msgid "`Excel FLOOR article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:147 +msgid "ISOWEEKNUM(date)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:525 -msgid "FLOOR.MATH(number, [significance], [mode])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:148 +msgid "`Excel ISOWEEKNUM article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:526 -msgid "`Excel FLOOR.MATH article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:149 +msgid "MINUTE(time)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:527 -msgid "FLOOR.PRECISE(number, [significance])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:150 +msgid "`Excel MINUTE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:528 -msgid "`Excel FLOOR.PRECISE article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:151 +msgid "MONTH(date)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:529 -msgid "INT(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:152 +msgid "`Excel MONTH article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:530 -msgid "`Excel INT article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:153 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:864 +msgid "MONTH.END(date)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:531 -msgid "ISEVEN(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:154 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:865 +msgid "Last day of the month following a date (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:532 -msgid "`Excel ISEVEN article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:155 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:866 +msgid "MONTH.START(date)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:533 -msgid "ISO.CEILING(number, [significance])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:156 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:867 +msgid "First day of the month preceding a date (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:534 -msgid "`Excel ISO.CEILING article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:157 +msgid "NETWORKDAYS(start_date, end_date, [holidays])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:535 -msgid "ISODD(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:158 +msgid "`Excel NETWORKDAYS article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:536 -msgid "`Excel ISODD article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:159 +msgid "NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:537 -msgid "LN(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:160 +msgid "`Excel NETWORKDAYS.INTL article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:538 -msgid "`Excel LN article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:161 +msgid "NOW()" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:539 -msgid "LOG(value, [base])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:162 +msgid "`Excel NOW article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:540 -msgid "Get the logarithm of a number for a given base (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:163 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:868 +msgid "QUARTER(date)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:541 -msgid "MOD(dividend, divisor)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:164 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:869 +msgid "Quarter of the year a specific date falls in (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:542 -msgid "`Excel MOD article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:165 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:870 +msgid "QUARTER.END(date)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:543 -msgid "MUNIT(dimension)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:166 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:871 +msgid "Last day of the quarter of the year a specific date falls in (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:544 -msgid "`Excel MUNIT article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:167 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:872 +msgid "QUARTER.START(date)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:545 -msgid "ODD(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:168 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:873 +msgid "First day of the quarter of the year a specific date falls in (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:546 -msgid "`Excel ODD article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:169 +msgid "SECOND(time)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:547 -msgid "PI()" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:170 +msgid "`Excel SECOND article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:548 -msgid "`Excel PI article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:171 +msgid "TIME(hour, minute, second)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:549 -msgid "POWER(base, exponent)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:172 +msgid "`Excel TIME article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:550 -msgid "`Excel POWER article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:173 +msgid "TIMEVALUE(time_string)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:551 -msgid "PRODUCT(factor1, [factor2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:174 +msgid "`Excel TIMEVALUE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:552 -msgid "`Excel PRODUCT article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:175 +msgid "TODAY()" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:553 -msgid "RAND()" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:176 +msgid "`Excel TODAY article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:554 -msgid "`Excel RAND article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:177 +msgid "WEEKDAY(date, [type])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:555 -msgid "RANDARRAY([rows], [columns], [min], [max], [whole_number])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:178 +msgid "`Excel WEEKDAY article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:556 -msgid "`Excel RANDARRAY article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:179 +msgid "WEEKNUM(date, [type])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:557 -msgid "RANDBETWEEN(low, high)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:180 +msgid "`Excel WEEKNUM article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:558 -msgid "`Excel RANDBETWEEN article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:181 +msgid "WORKDAY(start_date, num_days, [holidays])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:559 -msgid "ROUND(value, [places])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:182 +msgid "`Excel WORKDAY article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:560 -msgid "`Excel ROUND article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:183 +msgid "WORKDAY.INTL(start_date, num_days, [weekend], [holidays])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:561 -msgid "ROUNDDOWN(value, [places])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:184 +msgid "`Excel WORKDAY.INTL article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:562 -msgid "`Excel ROUNDDOWN article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:185 +msgid "YEAR(date)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:563 -msgid "ROUNDUP(value, [places])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:186 +msgid "`Excel YEAR article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:564 -msgid "`Excel ROUNDUP article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:187 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:874 +msgid "YEAR.END(date)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:565 -msgid "SEC(angle)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:188 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:875 +msgid "Last day of the year a specific date falls in (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:566 -msgid "`Excel SEC article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:189 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:876 +msgid "YEAR.START(date)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:567 -msgid "SECH(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:190 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:877 +msgid "First day of the year a specific date falls in (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:568 -msgid "`Excel SECH article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:191 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:878 +msgid "YEARFRAC(start_date, end_date, [day_count_convention])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:569 -msgid "SEQUENCE(rows, [columns], [start], ][step])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:192 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:879 +msgid "Exact number of years between two dates (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:570 -msgid "`Excel SEQUENCE article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:197 +msgid "Engineering" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:571 -msgid "SIN(angle)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:205 +msgid "DELTA(number1, [number2])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:572 -msgid "`Excel SIN article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:206 +msgid "`Excel DELTA article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:573 -msgid "SINH(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:211 +msgid "Filter" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:574 -msgid "`Excel SINH article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:219 +msgid "FILTER(range, condition1, [condition2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:575 -msgid "SQRT(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:220 +msgid "`Excel FILTER article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:576 -msgid "`Excel SQRT article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:221 +msgid "ODOO.FILTER.VALUE(filter_name)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:577 -msgid "SUM(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:222 +msgid "Returns the current value of a spreadsheet filter (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:578 -msgid "`Excel SUM article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:223 +msgid "SORT(range, [sort_column, ...], [is_ascending, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:579 -msgid "SUMIF(criteria_range, criterion, [sum_range])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:224 +msgid "`Excel SORT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:580 -msgid "`Excel SUMIF article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:225 +msgid "UNIQUE(range, [by_column], [exactly_once])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:581 -msgid "SUMIFS(sum_range, criteria_range1, criterion1, [criteria_range2, ...], [criterion2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:226 +msgid "`Excel UNIQUE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:582 -msgid "`Excel SUMIFS article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:231 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:882 +msgid "Financial" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:583 -msgid "TAN(angle)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:239 +msgid "ACCRINTM(issue, maturity, rate, redemption, [day_count_convention])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:584 -msgid "`Excel TAN article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:240 +msgid "`Excel ACCRINTM article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:585 -msgid "TANH(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:241 +msgid "AMORLINC(cost, purchase_date, first_period_end, salvage, period, rate, [day_count_convention])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:586 -msgid "`Excel TANH article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:242 +msgid "`Excel AMORLINC article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:587 -msgid "TRUNC(value, [places])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:243 +msgid "COUPDAYBS(settlement, maturity, frequency, [day_count_convention])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:588 -msgid "`Excel TRUNC article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:244 +msgid "`Excel COUPDAYBS article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:593 -#: ../../content/applications/productivity/spreadsheet/functions.rst:956 -msgid "Operators" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:245 +msgid "COUPDAYS(settlement, maturity, frequency, [day_count_convention])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:601 -#: ../../content/applications/productivity/spreadsheet/functions.rst:964 -msgid "ADD(value1, value2)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:246 +msgid "`Excel COUPDAYS article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:602 -#: ../../content/applications/productivity/spreadsheet/functions.rst:965 -msgid "Sum of two numbers (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:247 +msgid "COUPDAYSNC(settlement, maturity, frequency, [day_count_convention])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:603 -msgid "CONCAT(value1, value2)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:248 +msgid "`Excel COUPDAYSNC article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:604 -msgid "`Excel CONCAT article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:249 +msgid "COUPNCD(settlement, maturity, frequency, [day_count_convention])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:605 -#: ../../content/applications/productivity/spreadsheet/functions.rst:966 -msgid "DIVIDE(dividend, divisor)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:250 +msgid "`Excel COUPNCD article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:606 -#: ../../content/applications/productivity/spreadsheet/functions.rst:967 -msgid "One number divided by another (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:251 +msgid "COUPNUM(settlement, maturity, frequency, [day_count_convention])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:607 -#: ../../content/applications/productivity/spreadsheet/functions.rst:968 -msgid "EQ(value1, value2)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:252 +msgid "`Excel COUPNUM article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:608 -#: ../../content/applications/productivity/spreadsheet/functions.rst:969 -msgid "Equal (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:253 +msgid "COUPPCD(settlement, maturity, frequency, [day_count_convention])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:609 -#: ../../content/applications/productivity/spreadsheet/functions.rst:970 -msgid "GT(value1, value2)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:254 +msgid "`Excel COUPPCD article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:610 -#: ../../content/applications/productivity/spreadsheet/functions.rst:971 -msgid "Strictly greater than (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:255 +msgid "CUMIPMT(rate, number_of_periods, present_value, first_period, last_period, [end_or_beginning])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:611 -#: ../../content/applications/productivity/spreadsheet/functions.rst:972 -msgid "GTE(value1, value2)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:256 +msgid "`Excel CUMIPMT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:612 -#: ../../content/applications/productivity/spreadsheet/functions.rst:973 -msgid "Greater than or equal to (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:257 +msgid "CUMPRINC(rate, number_of_periods, present_value, first_period, last_period, [end_or_beginning])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:613 -#: ../../content/applications/productivity/spreadsheet/functions.rst:974 -msgid "LT(value1, value2)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:258 +msgid "`Excel CUMPRINC article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:614 -#: ../../content/applications/productivity/spreadsheet/functions.rst:975 -msgid "Less than (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:259 +msgid "DB(cost, salvage, life, period, [month])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:615 -#: ../../content/applications/productivity/spreadsheet/functions.rst:976 -msgid "LTE(value1, value2)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:260 +msgid "`Excel DB article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:616 -#: ../../content/applications/productivity/spreadsheet/functions.rst:977 -msgid "Less than or equal to (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:261 +msgid "DDB(cost, salvage, life, period, [factor])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:617 -#: ../../content/applications/productivity/spreadsheet/functions.rst:978 -msgid "MINUS(value1, value2)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:262 +msgid "`Excel DDB article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:618 -#: ../../content/applications/productivity/spreadsheet/functions.rst:979 -msgid "Difference of two numbers (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:263 +msgid "DISC(settlement, maturity, price, redemption, [day_count_convention])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:619 -#: ../../content/applications/productivity/spreadsheet/functions.rst:980 -msgid "MULTIPLY(factor1, factor2)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:264 +msgid "`Excel DISC article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:620 -#: ../../content/applications/productivity/spreadsheet/functions.rst:981 -msgid "Product of two numbers (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:265 +msgid "DOLLARDE(fractional_price, unit)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:621 -#: ../../content/applications/productivity/spreadsheet/functions.rst:982 -msgid "NE(value1, value2)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:266 +msgid "`Excel DOLLARDE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:622 -#: ../../content/applications/productivity/spreadsheet/functions.rst:983 -msgid "Not equal (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:267 +msgid "DOLLARFR(decimal_price, unit)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:623 -#: ../../content/applications/productivity/spreadsheet/functions.rst:984 -msgid "POW(base, exponent)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:268 +msgid "`Excel DOLLARFR article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:624 -#: ../../content/applications/productivity/spreadsheet/functions.rst:985 -msgid "A number raised to a power (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:269 +msgid "DURATION(settlement, maturity, rate, yield, frequency, [day_count_convention])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:625 -#: ../../content/applications/productivity/spreadsheet/functions.rst:986 -msgid "UMINUS(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:270 +msgid "`Excel DURATION article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:626 -#: ../../content/applications/productivity/spreadsheet/functions.rst:987 -msgid "A number with the sign reversed (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:271 +msgid "EFFECT(nominal_rate, periods_per_year)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:627 -#: ../../content/applications/productivity/spreadsheet/functions.rst:988 -msgid "UNARY.PERCENT(percentage)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:272 +msgid "`Excel EFFECT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:628 -#: ../../content/applications/productivity/spreadsheet/functions.rst:989 -msgid "Value interpreted as a percentage (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:273 +msgid "FV(rate, number_of_periods, payment_amount, [present_value], [end_or_beginning])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:629 -#: ../../content/applications/productivity/spreadsheet/functions.rst:990 -msgid "UPLUS(value)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:274 +msgid "`Excel FV article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:630 -#: ../../content/applications/productivity/spreadsheet/functions.rst:991 -msgid "A specified number, unchanged (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:275 +msgid "FVSCHEDULE(principal, rate_schedule)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:635 -msgid "Parser" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:276 +msgid "`Excel FVSCHEDULE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:643 -msgid "CONVERT(number, from_unit, to_unit)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:277 +msgid "INTRATE(settlement, maturity, investment, redemption, [day_count_convention])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:644 -msgid "`Excel CONVERT article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:278 +msgid "`Excel INTRATE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:649 -#: ../../content/applications/productivity/spreadsheet/functions.rst:994 -msgid "Statistical" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:279 +msgid "IPMT(rate, period, number_of_periods, present_value, [future_value], [end_or_beginning])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:657 -msgid "AVEDEV(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:280 +msgid "`Excel IPMT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:658 -msgid "`Excel AVEDEV article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:281 +msgid "IRR(cashflow_amounts, [rate_guess])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:659 -msgid "AVERAGE(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:282 +msgid "`Excel IRR article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:660 -msgid "`Excel AVERAGE article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:283 +msgid "ISPMT(rate, period, number_of_periods, present_value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:661 -msgid "AVERAGEA(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:284 +msgid "`Excel ISPMT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:662 -msgid "`Excel AVERAGEA article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:285 +msgid "MDURATION(settlement, maturity, rate, yield, frequency, [day_count_convention])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:663 -msgid "AVERAGEIF(criteria_range, criterion, [average_range])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:286 +msgid "`Excel MDURATION article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:664 -msgid "`Excel AVERAGEIF article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:287 +msgid "MIRR(cashflow_amounts, financing_rate, reinvestment_return_rate)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:665 -msgid "AVERAGEIFS(average_range, criteria_range1, criterion1, [criteria_range2, ...], [criterion2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:288 +msgid "`Excel MIRR article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:666 -msgid "`Excel AVERAGEIFS article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:289 +msgid "NOMINAL(effective_rate, periods_per_year)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:667 -#: ../../content/applications/productivity/spreadsheet/functions.rst:1002 -msgid "AVERAGE.WEIGHTED(values, weights, [additional_values, ...], [additional_weights, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:290 +msgid "`Excel NOMINAL article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:668 -#: ../../content/applications/productivity/spreadsheet/functions.rst:1003 -msgid "Weighted average (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:291 +msgid "NPER(rate, payment_amount, present_value, [future_value], [end_or_beginning])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:669 -msgid "CORREL(data_y, data_x)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:292 +msgid "`Excel NPER article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:670 -msgid "`Excel CORREL article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:293 +msgid "NPV(discount, cashflow1, [cashflow2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:671 -msgid "COUNT(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:294 +msgid "`Excel NPV article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:672 -msgid "`Excel COUNT article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:295 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:890 +msgid "ODOO.ACCOUNT.GROUP(type)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:673 -msgid "COUNTA(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:296 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:891 +msgid "Returns the account ids of a given group (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:674 -msgid "`Excel COUNTA article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:297 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:892 +msgid "ODOO.CREDIT(account_codes, date_range, [offset], [company_id], [include_unposted])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:675 -msgid "COVAR(data_y, data_x)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:298 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:893 +msgid "Get the total credit for the specified account(s) and period (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:676 -msgid "`Excel COVAR article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:299 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:894 +msgid "ODOO.CURRENCY.RATE(currency_from, currency_to, [date])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:677 -msgid "COVARIANCE.P(data_y, data_x)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:300 +msgid "This function takes in two currency codes as arguments, and returns the exchange rate from the first currency to the second as float (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:678 -msgid "`Excel COVARIANCE.P article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:301 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:896 +msgid "ODOO.DEBIT(account_codes, date_range, [offset], [company_id], [include_unposted])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:679 -msgid "COVARIANCE.S(data_y, data_x)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:302 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:897 +msgid "Get the total debit for the specified account(s) and period (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:680 -msgid "`Excel COVARIANCE.S article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:303 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:898 +msgid "ODOO.BALANCE(account_codes, date_range, [offset], [company_id], [include_unposted])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:681 -msgid "FORECAST(x, data_y, data_x)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:304 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:899 +msgid "Get the total balance for the specified account(s) and period (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:682 -msgid "`Excel FORECAST article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:305 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:902 +msgid "ODOO.FISCALYEAR.END(day, [company_id])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:683 -#: ../../content/applications/productivity/spreadsheet/functions.rst:1004 -msgid "GROWTH(known_data_y, [known_data_x], [new_data_x], [b])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:306 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:903 +msgid "Returns the ending date of the fiscal year encompassing the provided date (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:684 -#: ../../content/applications/productivity/spreadsheet/functions.rst:1005 -msgid "Fits points to exponential growth trend (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:307 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:900 +msgid "ODOO.FISCALYEAR.START(day, [company_id])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:685 -msgid "INTERCEPT(data_y, data_x)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:308 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:901 +msgid "Returns the starting date of the fiscal year encompassing the provided date (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:686 -msgid "`Excel INTERCEPT article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:309 +msgid "PDURATION(rate, present_value, future_value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:687 -msgid "LARGE(data, n)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:310 +msgid "`Excel PDURATION article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:688 -msgid "`Excel LARGE article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:311 +msgid "PMT(rate, number_of_periods, present_value, [future_value], [end_or_beginning])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:689 -msgid "LINEST(data_y, [data_x], [calculate_b], [verbose])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:312 +msgid "`Excel PMT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:690 -msgid "`Excel LINEST article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:313 +msgid "PPMT(rate, period, number_of_periods, present_value, [future_value], [end_or_beginning])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:691 -msgid "LOGEST(data_y, [data_x], [calculate_b], [verbose])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:314 +msgid "`Excel PPMT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:692 -msgid "`Excel LOGEST article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:315 +msgid "PRICE(settlement, maturity, rate, yield, redemption, frequency, [day_count_convention])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:693 -#: ../../content/applications/productivity/spreadsheet/functions.rst:1006 -msgid "MATTHEWS(data_x, data_y)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:316 +msgid "`Excel PRICE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:694 -#: ../../content/applications/productivity/spreadsheet/functions.rst:1007 -msgid "Compute the Matthews correlation coefficient of a dataset (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:317 +msgid "PRICEDISC(settlement, maturity, discount, redemption, [day_count_convention])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:695 -msgid "MAX(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:318 +msgid "`Excel PRICEDISC article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:696 -msgid "`Excel MAX article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:319 +msgid "PRICEMAT(settlement, maturity, issue, rate, yield, [day_count_convention])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:697 -msgid "MAXA(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:320 +msgid "`Excel PRICEMAT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:698 -msgid "`Excel MAXA article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:321 +msgid "PV(rate, number_of_periods, payment_amount, [future_value], [end_or_beginning])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:699 -msgid "MAXIFS(range, criteria_range1, criterion1, [criteria_range2, ...], [criterion2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:322 +msgid "`Excel PV article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:700 -msgid "`Excel MAXIFS article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:323 +msgid "RATE(number_of_periods, payment_per_period, present_value, [future_value], [end_or_beginning], [rate_guess])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:701 -msgid "MEDIAN(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:324 +msgid "`Excel RATE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:702 -msgid "`Excel MEDIAN article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:325 +msgid "RECEIVED(settlement, maturity, investment, discount, [day_count_convention])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:703 -msgid "MIN(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:326 +msgid "`Excel RECEIVED article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:704 -msgid "`Excel MIN article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:327 +msgid "RRI(number_of_periods, present_value, future_value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:705 -msgid "MINA(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:328 +msgid "`Excel RRI article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:706 -msgid "`Excel MINA article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:329 +msgid "SLN(cost, salvage, life)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:707 -msgid "MINIFS(range, criteria_range1, criterion1, [criteria_range2, ...], [criterion2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:330 +msgid "`Excel SLN article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:708 -msgid "`Excel MINIFS article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:331 +msgid "SYD(cost, salvage, life, period)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:709 -msgid "PEARSON(data_y, data_x)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:332 +msgid "`Excel SYD article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:710 -msgid "`Excel PEARSON article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:333 +msgid "TBILLEQ(settlement, maturity, discount)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:711 -msgid "PERCENTILE(data, percentile)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:334 +msgid "`Excel TBILLEQ article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:712 -msgid "`Excel PERCENTILE article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:335 +msgid "TBILLPRICE(settlement, maturity, discount)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:713 -msgid "PERCENTILE.EXC(data, percentile)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:336 +msgid "`Excel TBILLPRICE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:714 -msgid "`Excel PERCENTILE.EXC article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:337 +msgid "TBILLYIELD(settlement, maturity, price)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:715 -msgid "PERCENTILE.INC(data, percentile)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:338 +msgid "`Excel TBILLYIELD article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:716 -msgid "`Excel PERCENTILE.INC article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:339 +msgid "VDB(cost, salvage, life, start, end, [factor], [no_switch])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:717 -#: ../../content/applications/productivity/spreadsheet/functions.rst:1008 -msgid "POLYFIT.COEFFS(data_y, data_x, order, [intercept])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:340 +msgid "`Excel VDB article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:718 -#: ../../content/applications/productivity/spreadsheet/functions.rst:1009 -msgid "Compute the coefficients of polynomial regression of the dataset (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:341 +msgid "XIRR(cashflow_amounts, cashflow_dates, [rate_guess])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:719 -#: ../../content/applications/productivity/spreadsheet/functions.rst:1010 -msgid "POLYFIT.FORECAST(x, data_y, data_x, order, [intercept])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:342 +msgid "`Excel XIRR article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:720 -#: ../../content/applications/productivity/spreadsheet/functions.rst:1011 -msgid "Predict value by computing a polynomial regression of the dataset (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:343 +msgid "XNPV(discount, cashflow_amounts, cashflow_dates)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:721 -msgid "QUARTILE(data, quartile_number)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:344 +msgid "`Excel XNPV article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:722 -msgid "`Excel QUARTILE article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:345 +msgid "YIELD(settlement, maturity, rate, price, redemption, frequency, [day_count_convention])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:723 -msgid "QUARTILE.EXC(data, quartile_number)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:346 +msgid "`Excel YIELD article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:724 -msgid "`Excel QUARTILE.EXC article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:347 +msgid "YIELDDISC(settlement, maturity, price, redemption, [day_count_convention])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:725 -msgid "QUARTILE.INC(data, quartile_number)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:348 +msgid "`Excel YIELDDISC article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:726 -msgid "`Excel QUARTILE.INC article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:349 +msgid "YIELDMAT(settlement, maturity, issue, rate, price, [day_count_convention])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:727 -msgid "RANK(value, data, [is_ascending])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:350 +msgid "`Excel YIELDMAT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:728 -msgid "`Excel RANK article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:355 +msgid "Info" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:729 -msgid "RSQ(data_y, data_x)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:363 +msgid "CELL(info_type, reference)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:730 -msgid "`Excel RSQ article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:364 +msgid "`Excel CELL article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:731 -msgid "SLOPE(data_y, data_x)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:365 +msgid "ISBLANK(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:732 -msgid "`Excel SLOPE article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:366 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:368 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:370 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:372 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:374 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:376 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:378 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:380 +msgid "`Excel IS article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:733 -msgid "SMALL(data, n)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:367 +msgid "ISERR(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:734 -msgid "`Excel SMALL article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:369 +msgid "ISERROR(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:735 -#: ../../content/applications/productivity/spreadsheet/functions.rst:1012 -msgid "SPEARMAN(data_y, data_x)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:371 +msgid "ISLOGICAL(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:736 -#: ../../content/applications/productivity/spreadsheet/functions.rst:1013 -msgid "Compute the Spearman rank correlation coefficient of a dataset (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:373 +msgid "ISNA(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:737 -msgid "STDEV(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:375 +msgid "ISNONTEXT(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:738 -msgid "`Excel STDEV article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:377 +msgid "ISNUMBER(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:739 -msgid "STDEV.P(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:379 +msgid "ISTEXT(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:740 -msgid "`Excel STDEV.P article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:381 +msgid "NA()" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:741 -msgid "STDEV.S(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:382 +msgid "`Excel NA article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:742 -msgid "`Excel STDEV.S article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:387 +msgid "Logical" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:743 -msgid "STDEVA(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:395 +msgid "AND(logical_expression1, [logical_expression2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:744 -msgid "`Excel STDEVA article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:396 +msgid "`Excel AND article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:745 -msgid "STDEVP(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:397 +msgid "FALSE()" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:746 -msgid "`Excel STDEVP article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:398 +msgid "`Excel FALSE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:747 -msgid "STDEVPA(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:399 +msgid "IF(logical_expression, value_if_true, [value_if_false])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:748 -msgid "`Excel STDEVPA article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:400 +msgid "`Excel IF article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:749 -msgid "STEYX(data_y, data_x)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:401 +msgid "IFERROR(value, [value_if_error])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:750 -msgid "`Excel STEYX article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:402 +msgid "`Excel IFERROR article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:751 -#: ../../content/applications/productivity/spreadsheet/functions.rst:1014 -msgid "TREND(known_data_y, [known_data_x], [new_data_x], [b])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:403 +msgid "IFNA(value, [value_if_error])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:752 -#: ../../content/applications/productivity/spreadsheet/functions.rst:1015 -msgid "Fits points to linear trend derived via least-squares (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:404 +msgid "`Excel IFNA article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:753 -msgid "VAR(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:405 +msgid "IFS(condition1, value1, [condition2, ...], [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:754 -msgid "`Excel VAR article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:406 +msgid "`Excel IFS article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:755 -msgid "VAR.P(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:407 +msgid "NOT(logical_expression)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:756 -msgid "`Excel VAR.P article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:408 +msgid "`Excel NOT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:757 -msgid "VAR.S(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:409 +msgid "OR(logical_expression1, [logical_expression2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:758 -msgid "`Excel VAR.S article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:410 +msgid "`Excel OR article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:759 -msgid "VARA(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:411 +msgid "SWITCH(expression, case1, value1, [case2, ...], [value2, ...], [default])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:760 -msgid "`Excel VARA article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:412 +msgid "`Excel SWITCH article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:761 -msgid "VARP(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:413 +msgid "TRUE()" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:762 -msgid "`Excel VARP article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:414 +msgid "`Excel TRUE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:763 -msgid "VARPA(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:415 +msgid "XOR(logical_expression1, [logical_expression2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:764 -msgid "`Excel VARPA article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:416 +msgid "`Excel XOR article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:769 -#: ../../content/applications/productivity/spreadsheet/functions.rst:1018 -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:203 -#: ../../content/applications/productivity/whatsapp.rst:588 -msgid "Text" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:421 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:910 +msgid "Lookup" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:777 -msgid "CHAR(table_number)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:429 +msgid "ADDRESS(row, column, [absolute_relative_mode], [use_a1_notation], [sheet])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:778 -msgid "`Excel CHAR article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:430 +msgid "`Excel ADDRESS article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:779 -msgid "CLEAN(text)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:431 +msgid "COLUMN([cell_reference])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:780 -msgid "`Excel CLEAN article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:432 +msgid "`Excel COLUMN article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:781 -msgid "CONCATENATE(string1, [string2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:433 +msgid "COLUMNS(range)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:782 -msgid "`Excel CONCATENATE article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:434 +msgid "`Excel COLUMNS article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:783 -msgid "EXACT(string1, string2)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:435 +msgid "HLOOKUP(search_key, range, index, [is_sorted])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:784 -msgid "`Excel EXACT article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:436 +msgid "`Excel HLOOKUP article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:785 -msgid "FIND(search_for, text_to_search, [starting_at])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:437 +msgid "INDEX(reference, row, column)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:786 -msgid "`Excel FIND article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:438 +msgid "`Excel INDEX article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:787 -#: ../../content/applications/productivity/spreadsheet/functions.rst:1026 -msgid "JOIN(delimiter, value_or_array1, [value_or_array2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:439 +msgid "INDIRECT(reference, [use_a1_notation])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:788 -#: ../../content/applications/productivity/spreadsheet/functions.rst:1027 -msgid "Concatenates elements of arrays with delimiter (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:440 +msgid "`Excel INDIRECT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:789 -msgid "LEFT(text, [number_of_characters])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:441 +msgid "LOOKUP(search_key, search_array, [result_range])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:790 -msgid "`Excel LEFT article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:442 +msgid "`Excel LOOKUP article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:791 -msgid "LEN(text)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:443 +msgid "MATCH(search_key, range, [search_type])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:792 -msgid "`Excel LEN article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:444 +msgid "`Excel MATCH article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:793 -msgid "LOWER(text)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:445 +msgid "OFFSET(reference, rows, cols, [height], [width])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:794 -msgid "`Excel LOWER article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:446 +msgid "`Excel OFFSET article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:795 -msgid "MID(text, starting_at, extract_length)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:447 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:918 +msgid "PIVOT(pivot_id, [row_count], [include_total], [include_column_titles], [column_count])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:796 -msgid "`Excel MID article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:448 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:919 +msgid "Get a pivot table (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:797 -msgid "PROPER(text_to_capitalize)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:449 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:920 +msgid "PIVOT.HEADER(pivot_id, [domain_field_name, ...], [domain_value, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:798 -msgid "`Excel PROPER article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:450 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:921 +msgid "Get the header of a pivot table (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:799 -msgid "REPLACE(text, position, length, new_text)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:451 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:922 +msgid "PIVOT.VALUE(pivot_id, measure_name, [domain_field_name, ...], [domain_value, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:800 -msgid "`Excel REPLACE article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:452 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:923 +msgid "Get the value from a pivot table (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:801 -msgid "RIGHT(text, [number_of_characters])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:453 +msgid "ROW([cell_reference])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:802 -msgid "`Excel RIGHT article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:454 +msgid "`Excel ROW article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:803 -msgid "SEARCH(search_for, text_to_search, [starting_at])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:455 +msgid "ROWS(range)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:804 -msgid "`Excel SEARCH article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:456 +msgid "`Excel ROWS article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:805 -msgid "SPLIT(text, delimiter, [split_by_each], [remove_empty_text])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:457 +msgid "VLOOKUP(search_key, range, index, [is_sorted])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:806 -msgid "`Excel TEXTSPLIT article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:458 +msgid "`Excel VLOOKUP article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:807 -msgid "SUBSTITUTE(text_to_search, search_for, replace_with, [occurrence_number])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:459 +msgid "XLOOKUP(search_key, lookup_range, return_range, [if_not_found], [match_mode], [search_mode])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:808 -msgid "`Excel SUBSTITUTE article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:460 +msgid "`Excel XLOOKUP article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:809 -msgid "TEXT(number, format)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:465 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:926 +msgid "Math" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:810 -msgid "`Excel TEXT article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:473 +msgid "ABS(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:811 -msgid "TEXTJOIN(delimiter, ignore_empty, text1, [text2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:474 +msgid "`Excel ABS article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:812 -msgid "`Excel TEXTJOIN article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:475 +msgid "ACOS(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:813 -msgid "TRIM(text)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:476 +msgid "`Excel ACOS article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:814 -msgid "`Excel TRIM article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:477 +msgid "ACOSH(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:815 -msgid "UPPER(text)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:478 +msgid "`Excel ACOSH article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:816 -msgid "`Excel UPPER article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:479 +msgid "ACOT(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:817 -msgid "VALUE(text)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:480 +msgid "`Excel ACOT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:818 -msgid "`Excel VALUE article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:481 +msgid "ACOTH(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:823 -msgid "Web" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:482 +msgid "`Excel ACOTH article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:831 -msgid "HYPERLINK(url, [link_label])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:483 +msgid "ASIN(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:832 -msgid "`Excel HYPERLINK article `_" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:484 +msgid "`Excel ASIN article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:837 -msgid "Odoo-specific functions" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:485 +msgid "ASINH(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:839 -msgid "This section contains functions that interact directly with your Odoo database." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:486 +msgid "`Excel ASINH article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:895 -msgid "This function takes in two currency codes as arguments, and returns the exchange rate from -the first currency to the second as float (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:487 +msgid "ATAN(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:904 -msgid "ODOO.PARTNER.BALANCE(partner_ids, [account_codes], [date_range], [offset], [company_id], [include_unposted])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:488 +msgid "`Excel ATAN article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:905 -msgid "Get the partner balance for the specified account(s) and period (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:489 +msgid "ATAN2(x, y)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:906 -msgid "ODOO.RESIDUAL([account_codes], [date_range], [offset], [company_id], [include_unposted])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:490 +msgid "`Excel ATAN2 article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:907 -msgid "Get the residual amount for the specified account(s) and period (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:491 +msgid "ATANH(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:934 -msgid "COUNTUNIQUE(value1, [value2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:492 +msgid "`Excel ATANH article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:935 -msgid "Counts number of unique values in a range (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:493 +msgid "CEILING(value, [factor])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:936 -msgid "COUNTUNIQUEIFS(range, criteria_range1, criterion1, [criteria_range2, ...], [criterion2, ...])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:494 +msgid "`Excel CEILING article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:937 -msgid "Counts number of unique values in a range, filtered by a set of criteria (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:495 +msgid "CEILING.MATH(number, [significance], [mode])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:940 -msgid "Misc" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:496 +msgid "`Excel CEILING.MATH article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:948 -msgid "FORMAT.LARGE.NUMBER(value, [unit])" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:497 +msgid "CEILING.PRECISE(number, [significance])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:949 -msgid "Apply a large number format (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:498 +msgid "`Excel CEILING.PRECISE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:950 -msgid "ODOO.LIST(list_id, index, field_name)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:499 +msgid "COS(angle)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:951 -msgid "Get the value from a list (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:500 +msgid "`Excel COS article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:952 -msgid "ODOO.LIST.HEADER(list_id, field_name)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:501 +msgid "COSH(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/functions.rst:953 -msgid "Get the header of a list (not compatible with Excel)" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:502 +msgid "`Excel COSH article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:3 -msgid "Global filters" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:503 +msgid "COT(angle)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:5 -msgid "Global filters, represented by the :icon:`os-global-filters` :guilabel:`Filters` icon at the top right of an Odoo spreadsheet, allow you to apply one or more filters to all the Odoo data that has been :doc:`inserted in that spreadsheet `." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:504 +msgid "`Excel COT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:9 -msgid "These filters are particularly useful for reports and dashboards as users can easily and dynamically customize the view to answer complex business questions spanning multiple data sources." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:505 +msgid "COTH(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:13 -msgid "On a dashboard, global filters that have been :ref:`created in the underlying spreadsheet ` are applied via the search bar at the top of the dashboard." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:506 +msgid "`Excel COTH article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:0 -msgid "Global filters at the top of a dashboard" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:507 +msgid "COUNTBLANK(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:19 -msgid "Four types of global filters are available:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:508 +msgid "`Excel COUNTBLANK article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:21 -msgid ":ref:`Date `: filters data based on a specific time range, with the options :guilabel:`Month / Quarter`, :guilabel:`Relative Period`, or :guilabel:`From / To`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:509 +msgid "COUNTIF(range, criterion)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:24 -msgid ":ref:`Relation `: filters data based on a relational field in a related model, e.g., by :guilabel:`Salesperson` with the *User* model set as the related model." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:510 +msgid "`Excel COUNTIF article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:27 -msgid ":ref:`Text `: filters data based on a string of text or a range of predefined values, e.g., a product reference or barcode." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:511 +msgid "COUNTIFS(criteria_range1, criterion1, [criteria_range2, ...], [criterion2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:29 -msgid ":ref:`Yes/No `: filters data based on whether or not a checkbox, or boolean, field is set, e.g., lead is active." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:512 +msgid "`Excel COUNTIFS article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:32 -msgid "Unlike the standard :icon:`fa-filter` :guilabel:`(Add filters)` spreadsheet function, which lets you sort and temporarily hide data, global filters act on the underlying :ref:`data sources `, filtering data *before* it is loaded into the spreadsheet." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:513 +msgid "CSC(angle)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:36 -msgid "When a global filter is created, :ref:`field matching ` for each data source ensures the filter acts on the correct database :doc:`fields `." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:514 +msgid "`Excel CSC article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:41 -msgid "Global filters work by adding extra conditions to the domains of all the data sources in the spreadsheet. Therefore, if you intend to use global filters, do not use the same conditions when configuring the initial list, pivot table, or chart in your database." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:515 +msgid "CSCH(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:44 -msgid "Setting default values, where relevant, ensures that the spreadsheet or dashboard loads quickly and provides a useful initial view that can be further customized if needed. For example, a :guilabel:`Date` filter could be set to show data from the last 30 days by default." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:516 +msgid "`Excel CSCH article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:51 -msgid "Field matching" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:517 +msgid "DECIMAL(value, base)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:54 -msgid "This process is crucial, as matching the wrong fields, or not setting matching fields at all, results in global filters that do not show the desired results." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:518 +msgid "`Excel DECIMAL article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:57 -msgid "To function as intended, a global filter needs to act on the correct database fields. Consider a :guilabel:`Date` filter applied to sales data. As the *Sales Order* model contains several date fields, it is crucial to determine which field is relevant for the filter, e.g., the order date, the delivery date, the expected date, or the expiration date." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:519 +msgid "DEGREES(angle)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:62 -msgid "When :ref:`creating a global filter `, the :guilabel:`Field matching` section of the :guilabel:`Filter properties` allows you to determine, for each :ref:`data source ` in the spreadsheet, which database field the filter should act on, or match with." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:520 +msgid "`Excel DEGREES article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:67 -msgid "Field matching is further explained in the relevant sections on creating :ref:`Date `, :ref:`Relation `, :ref:`Text `, and :ref:`Yes/No ` global filters." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:521 +msgid "EXP(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:76 -msgid "Create global filters" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:522 +msgid "`Excel EXP article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:78 -msgid "Open the desired spreadsheet from the **Odoo Documents** app or via the **Odoo Dashboards** app if you are adding filters to a dashboard." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:523 +msgid "FLOOR(value, [factor])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:81 -msgid "To add a new filter, click :icon:`os-global-filters` :guilabel:`Filters` to open the :guilabel:`Filters` panel. Under :guilabel:`Create filter`, click :icon:`fa-calendar` :guilabel:`Date`, :icon:`fa-link` :guilabel:`Relation`, :icon:`fa-font` :guilabel:`Text`, or :icon:`fa-toggle-off` :guilabel:`Yes/No` as appropriate." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:524 +msgid "`Excel FLOOR article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:87 -msgid "Depending on the data source(s) present in the spreadsheet, suggested :ref:`relation filters ` may be shown. Clicking on a suggested filter opens the :guilabel:`Filter properties` panel with certain values preconfigured." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:525 +msgid "FLOOR.MATH(number, [significance], [mode])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:91 -msgid "When saving a global filter, if any required information is missing or if any information provided in the :ref:`Field matching ` section is not appropriate, an error is shown stating :guilabel:`Some required fields are not valid`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:526 +msgid "`Excel FLOOR.MATH article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:96 -msgid "To access the underlying spreadsheet of a dashboard, :ref:`activate developer mode `, then click the :icon:`fa-pencil` :guilabel:`(Edit)` icon that appears when hovering over the dashboard name in the left panel." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:527 +msgid "FLOOR.PRECISE(number, [significance])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:99 -msgid "Click :icon:`fa-thumb-tack` :guilabel:`(pin)` at the top of the :guilabel:`Filters` panel to allow another panel, such as the :guilabel:`Filter properties` panel, to open beside it." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:528 +msgid "`Excel FLOOR.PRECISE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:108 -msgid "A :guilabel:`Date` filter can only match with a :ref:`Date ` or :ref:`Date & Time ` field." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:529 +msgid "INT(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:111 -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:163 -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:210 -msgid "With the :guilabel:`Filter properties` panel open:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:530 +msgid "`Excel INT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:113 -msgid "Enter a name for the new date filter in the :guilabel:`Label` field." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:531 +msgid "ISEVEN(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:114 -msgid "To set a :guilabel:`Default value`, select one of the available values, e.g, `Last 30 Days` or `Month to Date`. When applying the global filter, any of the available values can be selected." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:532 +msgid "`Excel ISEVEN article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:116 -msgid "In the :guilabel:`Field matching` section, for each data source, click beside :guilabel:`Date field` and select the field the filter should match with." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:533 +msgid "ISO.CEILING(number, [significance])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:119 -msgid "The :guilabel:`Period offset` option, which appears when a date field is chosen, enables comparisons to be made by shifting the time range by one or more periods in the past or future. By default, no period offset is defined. To define a period offset, select :guilabel:`Previous` or :guilabel:`Next`, then select the desired number of periods in the past or future." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:534 +msgid "`Excel ISO.CEILING article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:126 -msgid "To compare data effectively using the :guilabel:`Period offset` feature, :ref:`duplicate the relevant inserted list ` or :ref:`pivot table `, then, when setting up field matching, set a period offset for the second data source but not the first." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:535 +msgid "ISODD(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:131 -msgid "When applying the filter, the original list or pivot table shows data for the time range selected, while the second shows data for a period before or after that time range, as defined." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:536 +msgid "`Excel ISODD article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:135 -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:183 -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:220 -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:256 -msgid "Click :guilabel:`Save`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:537 +msgid "LN(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:138 -msgid "In the example below, a :guilabel:`Date` global filter allows the pivot table and chart to show sales data for any defined time period, in this case, `July 2025`. The :guilabel:`Custom Range` always shows the actual dates corresponding to the chosen period; it can also be updated directly." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:538 +msgid "`Excel LN article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:0 -msgid "A date filter filters data for July 2025" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:539 +msgid "LOG(value, [base])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:146 -msgid "In the :guilabel:`Field matching` section of the :guilabel:`Filter properties`, the field :guilabel:`Order Date` has been selected as the matching date field." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:540 +msgid "Get the logarithm of a number for a given base (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:0 -msgid "A date filter with the Order Date selected as the matching field" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:541 +msgid "MOD(dividend, divisor)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:155 -msgid "Relation" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:542 +msgid "`Excel MOD article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:158 -msgid "A :guilabel:`Relation` filter can only match with a :ref:`Many2One `, :ref:`One2Many `, or :ref:`Many2Many ` field." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:543 +msgid "MUNIT(dimension)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:165 -msgid "Enter a name for the new relation filter in the :guilabel:`Label` field." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:544 +msgid "`Excel MUNIT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:167 -msgid "In the :guilabel:`Related model` field, start typing the model name to reveal a list of all models, then select the appropriate one. Once a model is selected, the :guilabel:`Default value` and :guilabel:`Possible values` fields appear, as well as the :guilabel:`Field matching` section." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:545 +msgid "ODD(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:172 -msgid "To set a :guilabel:`Default value`, select one of the available values; these are records from the model. If the related model is the *User* model, the option :guilabel:`Automatically filter on the current user` can be enabled." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:546 +msgid "`Excel ODD article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:176 -msgid "To limit the values that can be shown, enable :guilabel:`Restrict values with a domain`, then click :ref:`Edit domain ` to add or edit rules." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:547 +msgid "PI()" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:179 -msgid "In the :guilabel:`Field matching` section, check if the correct matching field has been assigned for each data source. If this is not the case, click below the data source name to select the correct field." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:548 +msgid "`Excel PI article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:186 -msgid "In the example below, a :guilabel:`Relation` filter allows the pivot table and chart to show sales data related to selected salespeople only. The *User* model is set as the :guilabel:`Related model`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:549 +msgid "POWER(base, exponent)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:0 -msgid "Relation filter set on a pivot table" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:550 +msgid "`Excel POWER article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:193 -msgid "In the :guilabel:`Field matching` section of the :guilabel:`Filter properties`, the field :guilabel:`Salesperson` was automatically assigned as the matching field for both the pivot table and the chart." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:551 +msgid "PRODUCT(factor1, [factor2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:0 -msgid "A relation filter with the User model configured" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:552 +msgid "`Excel PRODUCT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:206 -msgid "A :guilabel:`Text` filter can only match with a :ref:`Text ` (char), :ref:`Integer `, or :ref:`Decimal ` (float) field." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:553 +msgid "RAND()" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:212 -msgid "Enter a name for the new text filter in the :guilabel:`Label` field." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:554 +msgid "`Excel RAND article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:213 -msgid "Optionally, enable :guilabel:`Restrict values to a range`. Doing so allows you to input a spreadsheet range either by typing the range or selecting it from the relevant sheet. The referenced range must be in the same spreadsheet." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:555 +msgid "RANDARRAY([rows], [columns], [min], [max], [whole_number])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:216 -msgid "Optionally, enter a :guilabel:`Default value`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:556 +msgid "`Excel RANDARRAY article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:217 -msgid "In the :guilabel:`Field matching` section, for each data source click below the data source name and select the field the :guilabel:`Text` filter should match with." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:557 +msgid "RANDBETWEEN(low, high)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:223 -msgid "In the example below, a :guilabel:`Text` global filter allows the pivot table and chart to show sales data only for products whose internal reference matches or contains the entered value, in this case, `FURN`. Multiple values can be entered if desired." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:558 +msgid "`Excel RANDBETWEEN article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:0 -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:0 -msgid "Global filters set on a pivot table" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:559 +msgid "ROUND(value, [places])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:230 -msgid "In the :guilabel:`Field matching` section of the :guilabel:`Filter properties`, the :guilabel:`Internal Reference` of the :guilabel:`Product Variant` was selected as the matching field for both the pivot table and the chart." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:560 +msgid "`Excel ROUND article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:0 -msgid "A text filter matched to the product's internal reference" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:561 +msgid "ROUNDDOWN(value, [places])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:238 -msgid "If you selected :guilabel:`Restrict values to range` when configuring the text filter and defined a range, you select the value of the text field from a dropdown." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:562 +msgid "`Excel ROUNDDOWN article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:244 -msgid "Yes/No" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:563 +msgid "ROUNDUP(value, [places])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:247 -msgid "A :guilabel:`Yes/No` filter can only match with a :ref:`Checkbox ` (boolean) field." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:564 +msgid "`Excel ROUNDUP article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:250 -msgid "With the :guilabel:`Filter properties` pane open:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:565 +msgid "SEC(angle)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:252 -msgid "Enter a name for the new :guilabel:`Yes/No` filter in the :guilabel:`Label` field." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:566 +msgid "`Excel SEC article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:253 -msgid "Optionally, select :guilabel:`Is set` or :guilabel:`Is not set` as the :guilabel:`Default value`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:567 +msgid "SECH(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:254 -msgid "In the :guilabel:`Field matching` section, for each data source, click below the data source name and select the field the :guilabel:`Yes/No` filter should match with." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:568 +msgid "`Excel SECH article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:259 -msgid "In the example below, a :guilabel:`Yes/No` global filter was created to allow the user to see all active opportunities, i.e., for which the :guilabel:`Active` checkbox is enabled on the record, or all inactive opportunities, i.e., for which the :guilabel:`Active` checkbox is disabled. Leaving the filter empty shows both active and inactive opportunities." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:569 +msgid "SEQUENCE(rows, [columns], [start], ][step])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:267 -msgid "In the :guilabel:`Field matching` section of the :guilabel:`Filter properties`, the field :guilabel:`Active` was assigned as the matching field for the pivot table." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:570 +msgid "`Excel SEQUENCE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:0 -msgid "A yes/no filter with the Active field set as matching field" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:571 +msgid "SIN(angle)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:276 -msgid "Manage and use global filters" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:572 +msgid "`Excel SIN article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:278 -msgid "Click the :icon:`os-global-filters` :guilabel:`Filters` icon at the top right of an Odoo spreadsheet to access the global filters that have been created for that spreadsheet." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:573 +msgid "SINH(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:281 -msgid "It is possible to:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:574 +msgid "`Excel SINH article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:283 -msgid "**Apply one or more global filters** by selecting appropriate values per filter, as relevant." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:575 +msgid "SQRT(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:286 -msgid "Reloading the browser will cause any global filters to reset to their initial state or default value, as relevant. To refresh data in an inserted list, pivot table, or chart without losing global filters that have been applied, click :menuselection:`Data -->` :icon:`os-refresh-data` :menuselection:`Refresh all data` from the menu bar." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:576 +msgid "`Excel SQRT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:291 -msgid "**Change the order** of existing filters by hovering over a filter and using the :icon:`os-thin-drag-handle` :guilabel:`(drag handle)` icon to change the position." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:577 +msgid "SUM(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:293 -msgid "**Clear filter values** (whether default or selected values) by clicking the :icon:`fa-times` :guilabel:`(Clear)` icon next to the value in the filter." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:578 +msgid "`Excel SUM article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:295 -msgid "**Edit an existing filter** by selecting the :icon:`fa-cog` :guilabel:`(Edit)` icon to open the filter's :guilabel:`Filter properties` then editing as needed." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:579 +msgid "SUMIF(criteria_range, criterion, [sum_range])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/global_filters.rst:297 -msgid "**Delete an existing filter** by selecting the :icon:`fa-cog` :guilabel:`(Edit)` icon to open the filter's :guilabel:`Filter properties` then clicking :guilabel:`Remove`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:580 +msgid "`Excel SUMIF article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:3 -msgid "Insert and link to Odoo data" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:581 +msgid "SUMIFS(sum_range, criteria_range1, criterion1, [criteria_range2, ...], [criterion2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:5 -msgid "Several elements from your Odoo database can be inserted into an Odoo spreadsheet, namely:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:582 +msgid "`Excel SUMIFS article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:7 -msgid "lists, i.e., data from a :ref:`list view `" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:583 +msgid "TAN(angle)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:8 -msgid "pivot tables, i.e., data from a :ref:`pivot view `" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:584 +msgid "`Excel TAN article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:9 -msgid "charts, i.e., data from a :ref:`graph view `" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:585 +msgid "TANH(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:12 -msgid "Lists, pivot tables, and charts from different apps and models can be inserted into the same spreadsheet." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:586 +msgid "`Excel TANH article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:15 -msgid "Each time a list, pivot table, or chart is inserted, a :ref:`data source ` is created. This data source connects the spreadsheet to your Odoo database, retrieving up-to-date information every time the spreadsheet is opened, the browser page is reloaded, or data is manually refreshed by clicking :menuselection:`Data -->` :icon:`os-refresh-data` :menuselection:`Refresh all data` from the menu bar." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:587 +msgid "TRUNC(value, [places])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:21 -msgid ":ref:`Inserted lists ` and :ref:`inserted pivot tables ` use formulas with Odoo-specific :ref:`list functions ` and :ref:`pivot table functions ` to retrieve data from your database and can be further manipulated in the spreadsheet. Certain elements of :ref:`inserted charts ` can be modified, but no data manipulation or computation is possible." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:588 +msgid "`Excel TRUNC article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:29 -msgid "If you intend to use :doc:`global filters ` to dynamically filter Odoo data in a spreadsheet or dashboard, do not use the same conditions to establish the initial list, pivot table, or chart in your database." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:593 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:956 +msgid "Operators" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:33 -msgid "It is also possible to:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:601 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:964 +msgid "ADD(value1, value2)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:35 -msgid ":ref:`add clickable links ` to Odoo menu items, to other sheets of the same spreadsheet, or to external URLs" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:602 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:965 +msgid "Sum of two numbers (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:37 -msgid ":ref:`insert financial data ` from your Odoo database using Odoo-specific spreadsheet :doc:`functions `" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:603 +msgid "CONCAT(value1, value2)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:39 -msgid "paste data from another Odoo spreadsheet, Excel spreadsheet, or Google Sheet directly into any Odoo spreadsheet" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:604 +msgid "`Excel CONCAT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:45 -msgid "Data sources" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:605 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:966 +msgid "DIVIDE(dividend, divisor)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:47 -msgid "Data sources, which are created each time a :ref:`list `, :ref:`pivot table `, or :ref:`chart ` is inserted into an Odoo spreadsheet, connect the spreadsheet and the relevant :doc:`model <../../studio/models_modules_apps>` in your database, ensuring the data stays up-to-date and allowing you to :ref:`access the underlying data `." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:606 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:967 +msgid "One number divided by another (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:53 -msgid "Each data source is defined by properties that can be accessed via the :guilabel:`Data` menu. Data sources are identified by their respective :icon:`oi-view-pivot` :guilabel:`(pivot table)`, :icon:`oi-view-list` :guilabel:`(list)` or :icon:`fa-bar-chart` :guilabel:`(chart)` icon, followed by their ID and name, e.g., :icon:`oi-view-pivot` *(#1) Sales Analysis by Product*." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:607 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:968 +msgid "EQ(value1, value2)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:-1 -msgid "Data sources listed in Data menu" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:608 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:969 +msgid "Equal (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:61 -msgid "Clicking on a data source opens the related properties in a panel on the right of the spreadsheet." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:609 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:970 +msgid "GT(value1, value2)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:64 -msgid "The properties panel can also be opened by right-clicking any cell of an inserted list or pivot table, then clicking :icon:`oi-view-list` :guilabel:`See list properties` or :icon:`oi-view-pivot` :guilabel:`See pivot properties`, or by clicking the :icon:`fa-bars` :guilabel:`(menu)` icon at the top right of an inserted chart, then clicking :icon:`fa-pencil-square-o` :guilabel:`Edit`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:610 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:971 +msgid "Strictly greater than (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:69 -msgid "Once the properties of a specific data source are open, they remain open even when navigating between spreadsheet tabs. To close the properties panel, click the :icon:`fa-times` :guilabel:`(close)` icon at the top right of the panel." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:611 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:972 +msgid "GTE(value1, value2)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:72 -msgid "Click :icon:`fa-thumb-tack` :guilabel:`(pin)` at the top of the properties panel to allow another panel, such as the :doc:`global filters ` panel, to open beside it." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:612 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:973 +msgid "Greater than or equal to (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:76 -msgid "Deleting an inserted list or pivot table, or deleting the sheet into which it was inserted, does not delete the underlying data source. The data source of an inserted list or pivot table can only be deleted via the data source's properties." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:613 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:974 +msgid "LT(value1, value2)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:80 -msgid "A warning in the :guilabel:`Data` menu identifies any data sources for which the corresponding list or pivot table no longer appears in the spreadsheet." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:614 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:975 +msgid "Less than (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:-1 -msgid "Warning message about unused list" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:615 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:976 +msgid "LTE(value1, value2)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:86 -msgid "Deleting an inserted chart, on the other hand, also deletes the underlying data source." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:616 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:977 +msgid "Less than or equal to (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:91 -msgid "Accessing underlying data" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:617 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:978 +msgid "MINUS(value1, value2)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:93 -msgid "The underlying data of an inserted list, pivot table, or chart can be accessed at any time. To view:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:618 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:979 +msgid "Difference of two numbers (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:95 -msgid "an individual record of an **inserted list**, right-click any cell of the relevant row, then select :icon:`fa-eye` :guilabel:`See record`" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:619 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:980 +msgid "MULTIPLY(factor1, factor2)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:97 -msgid "a list of records referenced by an individual cell of an **inserted pivot table**, right-click the cell, then select :icon:`fa-eye` :guilabel:`See records`" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:620 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:981 +msgid "Product of two numbers (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:99 -msgid "a list of records represented by a data point of an **inserted chart**, click the data point." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:621 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:982 +msgid "NE(value1, value2)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:102 -msgid "Use the middle mouse button or `Ctrl` + left-click (Microsoft/Linux), or `Command` + left-click (Mac OS) to open the results in a new browser tab." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:622 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:983 +msgid "Not equal (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:105 -msgid "To return to the spreadsheet after viewing the underlying data, click the name of the spreadsheet in the breadcrumbs at the top of the page." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:623 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:984 +msgid "POW(base, exponent)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:111 -msgid "Insert a list" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:624 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:985 +msgid "A number raised to a power (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:114 -msgid "Before inserting a list in a spreadsheet, ensure the list is tailored to your needs. Consider which fields should be visible as well as how the records are filtered and/or sorted. This can impact both the loading time and the user-friendliness of your spreadsheet." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:625 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:986 +msgid "UMINUS(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:118 -msgid "To insert a list:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:626 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:987 +msgid "A number with the sign reversed (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:120 -msgid "With the relevant list view open in your database, click the :icon:`fa-cog` :guilabel:`(Actions)` icon beside the name of the view, then :menuselection:`Spreadsheet -->` :icon:`oi-view-list` :menuselection:`Insert list in spreadsheet`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:627 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:988 +msgid "UNARY.PERCENT(percentage)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:125 -msgid "To insert only specific records, select the relevant records, click the :icon:`fa-cog` :guilabel:`Actions` button that appears at the top center of the screen, then :icon:`oi-view-list` :guilabel:`Insert in spreadsheet`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:628 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:989 +msgid "Value interpreted as a percentage (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:129 -msgid "In the window that opens, edit the :guilabel:`Name of the list` if needed." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:629 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:990 +msgid "UPLUS(value)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:131 -msgid "The list name is used in the sheet name and in the :ref:`list properties `." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:630 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:991 +msgid "A specified number, unchanged (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Inserting a list in a spreadsheet" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:635 +msgid "Parser" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:137 -msgid "Edit the number of records, i.e., rows, to be inserted if needed." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:643 +msgid "CONVERT(number, from_unit, to_unit)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:139 -msgid "By default, the number shown is the number of records visible on the first page of the list. For example, if the list contains 150 records but only 80 are visible, this field will show 80." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:644 +msgid "`Excel CONVERT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:143 -msgid "While the data in your list is kept up to date thanks to the connection to your database, an inserted list will not automatically expand to accommodate new records, e.g., a new product category or a new salesperson." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:649 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:994 +msgid "Statistical" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:147 -msgid "If you anticipate new records being added, consider adding extra rows when inserting the list. Records/rows can also be :ref:`added manually ` after the spreadsheet has been inserted." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:657 +msgid "AVEDEV(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:152 -msgid "Your company currently has ten product categories and you insert this list in a spreadsheet. If an 11th product category is created and your inserted list only had ten rows, the new category will be inserted in the appropriate position in the spreadsheet, thereby removing an existing category." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:658 +msgid "`Excel AVEDEV article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:157 -msgid "One way to avoid this is to :ref:`add extra rows ` when inserting the list." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:659 +msgid "AVERAGE(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:160 -msgid "Click :guilabel:`Blank spreadsheet` to create a new spreadsheet, or select in which existing spreadsheet the list should be inserted." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:660 +msgid "`Excel AVERAGE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:164 -msgid "When inserting a list into a new spreadsheet, the spreadsheet is saved in the **Odoo Documents** app in the :icon:`fa-hdd-o` :guilabel:`My Drive` personal folder." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:661 +msgid "AVERAGEA(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:167 -#: ../../content/applications/productivity/spreadsheet/insert.rst:391 -#: ../../content/applications/productivity/spreadsheet/insert.rst:563 -#: ../../content/applications/productivity/spreadsheet/insert.rst:889 -msgid "Click :guilabel:`Confirm`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:662 +msgid "`Excel AVERAGEA article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:169 -msgid "The list is inserted into a new sheet in the spreadsheet. The sheet tab in the bottom bar shows the name of the list followed by the list ID, e.g., *Quotations by Total (List #1)*. A panel on the right side of the screen shows the :ref:`list properties `." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:663 +msgid "AVERAGEIF(criteria_range, criterion, [average_range])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:174 -msgid "To sever the link between an inserted list and your database, select the entire list, right-click and select :icon:`fa-clipboard` :guilabel:`Copy` then right-click again and select :menuselection:`Paste special --> Paste as value`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:664 +msgid "`Excel AVERAGEIF article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:177 -msgid "Do not modify the list ID in the sheet name, as the inserted list retains this ID for the lifetime of the spreadsheet. This list ID is used in the :ref:`spreadsheet functions ` that retrieve data from your database." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:665 +msgid "AVERAGEIFS(average_range, criteria_range1, criterion1, [criteria_range2, ...], [criterion2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:184 -msgid "List functions" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:666 +msgid "`Excel AVERAGEIFS article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:186 -msgid "When a list is inserted into a spreadsheet, the following :doc:`functions ` are used to retrieve the header and field values, respectively:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:667 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:1002 +msgid "AVERAGE.WEIGHTED(values, weights, [additional_values, ...], [additional_weights, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:196 -msgid "`list_id`: the ID assigned when the list is inserted. The first list inserted into a spreadsheet is assigned list ID `1`, the second, list ID `2`, etc." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:668 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:1003 +msgid "Weighted average (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:198 -msgid "`index`: identifies the line on which the record appeared in the list before insertion. The first line has an index of `1`, the second an index of `2`, etc." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:669 +msgid "CORREL(data_y, data_x)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:200 -msgid "`field_name`: the technical name of the field." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:670 +msgid "`Excel CORREL article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:203 -msgid "Clicking on an individual cell displays the related formula, if relevant, in the formula bar. To display all the formulas of a spreadsheet at the same time, click :menuselection:`View -->` :icon:`fa-eye` :menuselection:`Show --> Formulas` on the menu bar. The example below shows the functions used to retrieve list headers and values." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:671 +msgid "COUNT(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Viewing formulas of spreadsheet cells" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:672 +msgid "`Excel COUNT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:214 -msgid "List properties" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:673 +msgid "COUNTA(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:216 -msgid "The list properties appear on the right side of the screen when a list is inserted. They can be accessed at any time via the :guilabel:`Data` menu by clicking the relevant list, as prefaced by the :icon:`oi-view-list` :guilabel:`(list)` icon, or by right-clicking anywhere on the list and clicking :icon:`oi-view-list` :guilabel:`See list properties`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:674 +msgid "`Excel COUNTA article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:221 -msgid "The following list properties are shown, some of which can be edited:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:675 +msgid "COVAR(data_y, data_x)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:223 -msgid ":guilabel:`List #`: the list ID. List IDs are assigned sequentially as additional lists are inserted into the spreadsheet." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:676 +msgid "`Excel COVAR article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:225 -msgid ":guilabel:`List Name`: the name of the list. Edit this if needed. Note that editing the list name in the list properties does not modify the list name shown in the sheet name, and vice versa." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:677 +msgid "COVARIANCE.P(data_y, data_x)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:227 -#: ../../content/applications/productivity/spreadsheet/insert.rst:458 -msgid ":guilabel:`Model`: the model from which the data has been extracted." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:678 +msgid "`Excel COVARIANCE.P article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:228 -msgid ":guilabel:`Columns`: the fields of the model that were visible when the list was inserted." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:679 +msgid "COVARIANCE.S(data_y, data_x)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:229 -#: ../../content/applications/productivity/spreadsheet/insert.rst:474 -#: ../../content/applications/productivity/spreadsheet/insert.rst:760 -msgid ":guilabel:`Domain`: the rules used to determine which records are shown. Click :ref:`Edit domain ` to add or edit rules." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:680 +msgid "`Excel COVARIANCE.S article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:233 -#: ../../content/applications/productivity/spreadsheet/insert.rst:478 -msgid "When :doc:`global filters ` are used, this domain is combined with the selected values of the global filter before the data is loaded into the spreadsheet." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:681 +msgid "FORECAST(x, data_y, data_x)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:236 -msgid ":guilabel:`Sorting`: how the data is sorted, if applicable. To add a sorting rule, click :guilabel:`Add`, select the field, then choose whether sorting should be :guilabel:`Ascending` or :guilabel:`Descending`. Delete a sorting rule by clicking the :icon:`fa-times` :guilabel:`(delete)` icon." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:682 +msgid "`Excel FORECAST article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:241 -msgid "To :ref:`duplicate ` or :ref:`delete ` a list's data source, click the :icon:`fa-cog` :guilabel:`(gear)` icon, then click :icon:`fa-clone` :guilabel:`Duplicate` or :icon:`fa-trash` :guilabel:`Delete` as relevant." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:683 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:1004 +msgid "GROWTH(known_data_y, [known_data_x], [new_data_x], [b])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:249 -msgid "Manage an inserted list" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:684 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:1005 +msgid "Fits points to exponential growth trend (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:251 -msgid "After a list from an Odoo database has been inserted into an Odoo spreadsheet, you can:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:685 +msgid "INTERCEPT(data_y, data_x)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:253 -msgid ":ref:`add records `, i.e., rows" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:686 +msgid "`Excel INTERCEPT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:254 -msgid ":ref:`add fields `, i.e., columns" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:687 +msgid "LARGE(data, n)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:255 -msgid ":ref:`duplicate the list ` to create a new, identical data source" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:688 +msgid "`Excel LARGE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:257 -msgid ":ref:`delete the list and its underlying data source `" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:689 +msgid "LINEST(data_y, [data_x], [calculate_b], [verbose])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:262 -msgid "Add records/rows to a list" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:690 +msgid "`Excel LINEST article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:264 -msgid "To add records to a list, use one of the following methods:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:691 +msgid "LOGEST(data_y, [data_x], [calculate_b], [verbose])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:266 -msgid "Select the last row of the table, then hover over the blue square until the plus icon appears. Click and drag down to add the desired number of rows. The cells of the new rows are populated with the :ref:`appropriate formula ` to retrieve the list values. If there is corresponding data in your database, the cells are populated." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:692 +msgid "`Excel LOGEST article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Add records by dragging the cell down" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:693 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:1006 +msgid "MATTHEWS(data_x, data_y)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:274 -msgid "Position your cursor in the top left cell of the sheet, click :menuselection:`Data --> Re-insert list` from the menu bar, then select the appropriate list. In the pop-up window, indicate the number of records to insert and click :guilabel:`Confirm`. An updated list is inserted, overwriting the previous list." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:694 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:1007 +msgid "Compute the Matthews correlation coefficient of a dataset (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:280 -msgid "The above methods can also be used to add additional blank rows to your spreadsheet table. This may be useful for lists where you expect additional records to be generated in your database, e.g., new product categories or new salespersons." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:695 +msgid "MAX(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:287 -msgid "Add fields/columns to a list" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:696 +msgid "`Excel MAX article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:289 -msgid "To add fields/columns to a list:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:697 +msgid "MAXA(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:291 -msgid "Select the column to the right or left of where the new column should be inserted." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:698 +msgid "`Excel MAXA article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:292 -msgid "Click :menuselection:`Insert -->` :icon:`os-insert-col` :menuselection:`Insert column` then :icon:`os-insert-col-before` :menuselection:`Column left` or :icon:`os-insert-col-after` :menuselection:`Column right` from the menu bar, or right-click then :icon:`os-insert-col-before` :guilabel:`Insert column left` or :icon:`os-insert-col-after` :guilabel:`Insert column right` as appropriate." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:699 +msgid "MAXIFS(range, criteria_range1, criterion1, [criteria_range2, ...], [criterion2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:297 -msgid "Copy the header cell of any column, paste it into the header cell of the new column, and press `Enter`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:700 +msgid "`Excel MAXIFS article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:299 -msgid "Double-click the new header cell then click on the field name that appears in quotation marks at the end of the formula; a list of all the technical names of the fields of the related model appears." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:701 +msgid "MEDIAN(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Add fields/columns by editing the formula" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:702 +msgid "`Excel MEDIAN article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:306 -msgid "Select the appropriate field name and press `Enter`. The field's label appears in the header." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:703 +msgid "MIN(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:309 -msgid "To know a field's technical name, navigate to the relevant view, :ref:`activate developer mode `, then check the field name by hovering over the question mark beside a field's label." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:704 +msgid "`Excel MIN article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:313 -msgid "With the header cell selected, double-click on the blue square in the bottom-right corner. The cells of the column are populated with the appropriate formula to retrieve the list values. If there is corresponding data in your database, the cells are populated." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:705 +msgid "MINA(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:320 -msgid "Duplicate a list" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:706 +msgid "`Excel MINA article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:322 -msgid "Duplicating a list via the list's properties creates an additional data source. This allows for different manipulations to be performed on the same data within one spreadsheet." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:707 +msgid "MINIFS(range, criteria_range1, criterion1, [criteria_range2, ...], [criterion2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:325 -msgid "With the :ref:`list properties ` open, click the :icon:`fa-cog` :guilabel:`(gear)` icon then :icon:`fa-clone` :guilabel:`Duplicate`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:708 +msgid "`Excel MINIFS article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:328 -msgid "The new data source is assigned the next available list ID. For example, if no other lists have been inserted in the meantime, duplicating *List #1* results in the creation of *List #2*." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:709 +msgid "PEARSON(data_y, data_x)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:331 -msgid "Unlike when you insert a list, a duplicated list is not automatically inserted into the spreadsheet. To insert it, perform the following steps:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:710 +msgid "`Excel PEARSON article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:334 -msgid "Add a new sheet by clicking the :icon:`os-plus` :guilabel:`(add sheet)` icon at the bottom left of the spreadsheet." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:711 +msgid "PERCENTILE(data, percentile)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:336 -msgid "Click :menuselection:`Data --> Re-insert list` from the menu bar, then select the appropriate list." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:712 +msgid "`Excel PERCENTILE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:338 -msgid "Define the number of records to insert and click :guilabel:`Confirm`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:713 +msgid "PERCENTILE.EXC(data, percentile)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:339 -msgid "Edit the :guilabel:`List Name` in the properties panel if needed." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:714 +msgid "`Excel PERCENTILE.EXC article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:340 -msgid "Rename the sheet by right-clicking on the sheet tab, selecting :guilabel:`Rename`, and entering the new sheet name." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:715 +msgid "PERCENTILE.INC(data, percentile)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:344 -msgid "Duplicating an inserted list by copying and pasting it or by duplicating the sheet into which it has been inserted does not create a new data source. Any changes made to the list's properties would therefore impact any copies of the list." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:716 +msgid "`Excel PERCENTILE.INC article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:351 -msgid "Delete a list" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:717 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:1008 +msgid "POLYFIT.COEFFS(data_y, data_x, order, [intercept])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:353 -msgid "To fully delete a list and the underlying data source from a spreadsheet, perform the following steps in any order:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:718 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:1009 +msgid "Compute the coefficients of polynomial regression of the dataset (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:356 -#: ../../content/applications/productivity/spreadsheet/insert.rst:540 -msgid "Delete the spreadsheet table using your preferred means, e.g., via keyboard commands, spreadsheet menus, or by deleting the sheet. This deletes the visual representation of the data." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:719 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:1010 +msgid "POLYFIT.FORECAST(x, data_y, data_x, order, [intercept])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:358 -msgid "From the :ref:`properties panel ` of the relevant list, click the :icon:`fa-cog` :guilabel:`(gear)` icon then :icon:`fa-trash` :guilabel:`Delete`. This deletes the data source of the list from the spreadsheet." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:720 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:1011 +msgid "Predict value by computing a polynomial regression of the dataset (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:365 -msgid "Insert a pivot table" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:721 +msgid "QUARTILE(data, quartile_number)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:368 -msgid "Converting an inserted pivot table to a :doc:`dynamic pivot table ` allows you to add, remove, and manipulate dimensions (i.e., columns and rows) and measures. It is therefore possible to insert a basic pivot table with minimal configuration, convert it to a dynamic pivot table, then refine it directly in the spreadsheet." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:722 +msgid "`Excel QUARTILE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:373 -msgid "To insert a pivot table:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:723 +msgid "QUARTILE.EXC(data, quartile_number)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:375 -msgid "With the relevant pivot view open in your database, click :guilabel:`Insert in Spreadsheet`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:724 +msgid "`Excel QUARTILE.EXC article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:376 -msgid "In the window that opens, edit the :guilabel:`Name of the pivot` if needed." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:725 +msgid "QUARTILE.INC(data, quartile_number)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:378 -msgid "This name is used in the sheet name and in the :ref:`pivot table properties `." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:726 +msgid "`Excel QUARTILE.INC article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Inserting a pivot table in a spreadsheet" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:727 +msgid "RANK(value, data, [is_ascending])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:384 -msgid "Click :guilabel:`Blank spreadsheet` to create a new spreadsheet, or select in which existing spreadsheet the pivot table should be inserted." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:728 +msgid "`Excel RANK article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:388 -msgid "When inserting a pivot table into a new spreadsheet, the spreadsheet is saved in the **Odoo Documents** app in the :icon:`fa-hdd-o` :guilabel:`My Drive` personal folder." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:729 +msgid "RSQ(data_y, data_x)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:393 -msgid "The pivot table is inserted into a new sheet in the spreadsheet. The sheet tab in the bottom bar shows the name of the pivot table followed by the pivot table ID, e.g., *Sales Analysis by Sales Team (Pivot #1)*. A panel on the right side of the screen shows the :ref:`pivot table properties `." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:730 +msgid "`Excel RSQ article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:399 -msgid "To sever the link between an inserted pivot table and your database, select the entire pivot table, right-click and select :icon:`fa-clone` :guilabel:`Copy`, then right-click again and select :menuselection:`Paste special --> Paste as value`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:731 +msgid "SLOPE(data_y, data_x)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:402 -msgid "Do not modify the pivot table ID in the sheet name, as the inserted pivot table retains this ID for the lifetime of the spreadsheet. This pivot table ID is used in the :ref:`spreadsheet functions ` that retrieve data from your database." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:732 +msgid "`Excel SLOPE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:410 -msgid "Pivot table functions" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:733 +msgid "SMALL(data, n)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:412 -msgid "An inserted pivot table that has not been converted to a :doc:`dynamic pivot table ` uses the following :doc:`functions ` to retrieve the header and field values, respectively:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:734 +msgid "`Excel SMALL article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:421 -msgid "The arguments of the functions are as follows:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:735 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:1012 +msgid "SPEARMAN(data_y, data_x)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:425 -msgid "`measure_name`: the technical name of what is being measured, followed by the type of aggregation, e.g., `product_uom_qty:sum`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:736 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:1013 +msgid "Compute the Spearman rank correlation coefficient of a dataset (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:427 -msgid "`domain_field_name`: the technical name of the field used as a dimension, e.g., `user_id`, or, if the dimension is a time period, the technical name of the date field, followed by the time period, e.g., `date_order:month`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:737 +msgid "STDEV(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:430 -msgid "`domain_value`: the ID of the record, or, if the dimension is a time period, the date or time period targeted." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:738 +msgid "`Excel STDEV article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:434 -msgid "Clicking on an individual cell displays the related formula, if relevant, in the formula bar. To display all the formulas of a spreadsheet at the same time, click :menuselection:`View -->` :icon:`fa-eye` :menuselection:`Show --> Formulas` on the menu bar. The example below shows the functions used to retrieve headers and values of a static pivot table." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:739 +msgid "STDEV.P(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Functions of a static pivot table" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:740 +msgid "`Excel STDEV.P article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:445 -msgid "Pivot table properties" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:741 +msgid "STDEV.S(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:447 -msgid "The pivot table properties appear on the right side of the screen when a pivot table is inserted. They can be accessed at any time via the :guilabel:`Data` menu by clicking the relevant pivot table, as prefaced by the :icon:`oi-view-pivot` :guilabel:`(pivot)` icon, or by right-clicking anywhere on the pivot table and clicking :icon:`oi-view-pivot` :guilabel:`See pivot properties`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:742 +msgid "`Excel STDEV.S article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:452 -msgid "The following pivot table properties are shown, some of which can be edited:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:743 +msgid "STDEVA(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:454 -msgid ":guilabel:`Pivot #`: the pivot table ID. Pivot table IDs are assigned sequentially as additional pivot tables are inserted in the spreadsheet." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:744 +msgid "`Excel STDEVA article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:456 -msgid ":guilabel:`Name`: the name of the pivot table. Edit this if needed. Note that editing the name in the pivot table properties does not modify the name shown in the sheet name, and vice versa." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:745 +msgid "STDEVP(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:459 -msgid ":guilabel:`Columns` and :guilabel:`Rows`: dimensions you are using to categorize or group data from the model." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:746 +msgid "`Excel STDEVP article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:461 -msgid ":guilabel:`Measures`: what you are measuring, or analyzing, based on the dimensions you have chosen." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:747 +msgid "STDEVPA(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:465 -msgid "If you attempt to make changes to the columns, rows, or measures of a pivot table that has just been inserted into a spreadsheet, an error appears at the top right of the screen." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:748 +msgid "`Excel STDEVPA article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:471 -msgid "To be able to manipulate a pivot table's properties, convert a static pivot table to a :ref:`dynamic pivot table `." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:749 +msgid "STEYX(data_y, data_x)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:481 -msgid "To :ref:`duplicate ` or :ref:`delete ` a pivot table's data source, click the :icon:`fa-cog` :guilabel:`(gear)` icon then :icon:`fa-clone` :guilabel:`Duplicate` or :icon:`fa-trash` :guilabel:`Delete`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:750 +msgid "`Excel STEYX article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:489 -msgid "Manage an inserted pivot table" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:751 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:1014 +msgid "TREND(known_data_y, [known_data_x], [new_data_x], [b])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:491 -msgid "After a pivot table from an Odoo database has been inserted into an Odoo spreadsheet, you can:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:752 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:1015 +msgid "Fits points to linear trend derived via least-squares (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:493 -msgid ":ref:`convert it to a dynamic pivot table ` to be able to manipulate the dimensions and measures" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:753 +msgid "VAR(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:495 -msgid ":ref:`duplicate the pivot table ` to create a new, identical data source" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:754 +msgid "`Excel VAR article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:497 -msgid ":ref:`delete the pivot table and its underlying data source `" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:755 +msgid "VAR.P(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:503 -msgid "Duplicate a pivot table" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:756 +msgid "`Excel VAR.P article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:505 -msgid "Duplicating a pivot table via the pivot table's properties creates an additional data source. This allows for different manipulations to be performed on the same data within one spreadsheet." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:757 +msgid "VAR.S(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:508 -msgid "For example, you can see the same data aggregated by different dimensions or use :doc:`global filters ` to offset the date and create pivot tables that compare the current period's data with a previous period." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:758 +msgid "`Excel VAR.S article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:512 -msgid "To duplicate a pivot table, perform the following steps:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:759 +msgid "VARA(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:514 -msgid "With the :ref:`pivot table properties ` open, click the :icon:`fa-cog` :guilabel:`(gear)` icon then :icon:`fa-clone` :guilabel:`Duplicate`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:760 +msgid "`Excel VARA article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:517 -msgid "The duplicated pivot table is automatically inserted into a new sheet in the spreadsheet, with the pivot table properties open in the right panel." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:761 +msgid "VARP(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:519 -msgid "Edit the :guilabel:`Name` in the properties panel and the sheet tab if needed." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:762 +msgid "`Excel VARP article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:521 -msgid "The new data source is assigned the next available pivot table ID. For example, if no other pivot tables have been inserted in the meantime, duplicating *Pivot #1* results in the creation of *Pivot #2*." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:763 +msgid "VARPA(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:526 -msgid "Duplicating an inserted pivot table by copying and pasting it or by duplicating the sheet does not create a new data source. Any changes made to the pivot table's properties would therefore impact any copies of the pivot table." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:764 +msgid "`Excel VARPA article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:529 -msgid "When a pivot table is duplicated, the new pivot table is by default a :doc:`dynamic pivot table `." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:777 +msgid "CHAR(table_number)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:535 -msgid "Delete a pivot table" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:778 +msgid "`Excel CHAR article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:537 -msgid "To fully delete a pivot table and the underlying data source from a spreadsheet, perform the following steps in any order:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:779 +msgid "CLEAN(text)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:542 -msgid "From the :ref:`properties panel ` of the relevant pivot table, click the :icon:`fa-cog` :guilabel:`(gear)` icon then :icon:`fa-trash` :guilabel:`Delete`. This deletes the data source of the pivot table." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:780 +msgid "`Excel CLEAN article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:549 -msgid "Insert a chart" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:781 +msgid "CONCATENATE(string1, [string2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:551 -msgid "To insert a chart from an Odoo database into an Odoo spreadsheet:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:782 +msgid "`Excel CONCATENATE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:553 -msgid "With the relevant graph view open in your database, click :guilabel:`Insert in Spreadsheet`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:783 +msgid "EXACT(string1, string2)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:554 -msgid "In the window that opens, edit the :guilabel:`Name of the graph` if needed." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:784 +msgid "`Excel EXACT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:556 -msgid "Click :guilabel:`Blank spreadsheet` to create a new spreadsheet, or select in which existing spreadsheet the chart should be inserted." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:785 +msgid "FIND(search_for, text_to_search, [starting_at])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:560 -msgid "When inserting a chart into a new spreadsheet, the spreadsheet is saved in the **Odoo Documents** app in the :icon:`fa-hdd-o` :guilabel:`My Drive` personal folder." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:786 +msgid "`Excel FIND article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:565 -msgid "Charts are inserted on the first sheet of the spreadsheet." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:787 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:1026 +msgid "JOIN(delimiter, value_or_array1, [value_or_array2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:568 -msgid "Clicking on a data point in a chart opens the relevant list view in the database. In the example, clicking on :guilabel:`Jessica Childs` opens the list view of all sales by this salesperson that match the domain of the chart." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:788 +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:1027 +msgid "Concatenates elements of arrays with delimiter (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "A clickable link to an Odoo menu plus clickable data point" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:789 +msgid "LEFT(text, [number_of_characters])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:578 -msgid "Chart properties" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:790 +msgid "`Excel LEFT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:580 -msgid "When you insert a chart into a spreadsheet, the chart properties appear on the right side of the screen. Access these at any time via the :guilabel:`Data` menu by clicking the relevant chart, as prefaced by the :icon:`fa-bar-chart` :guilabel:`(chart)` icon. Alternatively, hover over the chart then click the :icon:`fa-bars` :guilabel:`(menu)` icon and click :icon:`fa-pencil-square-o` :guilabel:`Edit`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:791 +msgid "LEN(text)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:586 -msgid "In the chart properties, the :icon:`fa-sliders` :guilabel:`Configuration` and :icon:`fa-paint-brush` :guilabel:`Design` tabs let you modify various elements of the chart." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:792 +msgid "`Excel LEN article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:592 -msgid "The :icon:`fa-sliders` :guilabel:`Configuration` tab includes the following sections:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:793 +msgid "LOWER(text)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:594 -msgid ":guilabel:`Chart type`: the type of chart. By default, this indicates the type of chart you selected in the graph view in the database before inserting the chart in the spreadsheet." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:794 +msgid "`Excel LOWER article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:597 -msgid "After a chart has been inserted, more chart types are available. Click the dropdown menu to select the most appropriate chart type for the data." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:795 +msgid "MID(text, starting_at, extract_length)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:601 -msgid "The chart types in the :guilabel:`Other` tab below are only available when creating a chart from spreadsheet data; an inserted chart cannot be converted to a chart type shown in that tab. All other chart types are available for both inserted charts and when creating a chart directly from spreadsheet data." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:796 +msgid "`Excel MID article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:608 -msgid "Line" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:797 +msgid "PROPER(text_to_capitalize)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Line chart icon" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:798 +msgid "`Excel PROPER article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:613 -msgid ":guilabel:`Line`: best for showing trends or changes over time, such as sales growth across months or temperature variations." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:799 +msgid "REPLACE(text, position, length, new_text)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Stacked line chart icon" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:800 +msgid "`Excel REPLACE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:619 -msgid ":guilabel:`Stacked Line`: useful for visualizing cumulative trends where multiple series contribute to a total, like revenue by department over time." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:801 +msgid "RIGHT(text, [number_of_characters])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Combo chart icon" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:802 +msgid "`Excel RIGHT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:625 -msgid ":guilabel:`Combo`: combines multiple chart types (e.g., bars and lines) to compare different data types or highlight key metrics alongside trends." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:803 +msgid "SEARCH(search_for, text_to_search, [starting_at])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:628 -msgid "Column" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:804 +msgid "`Excel SEARCH article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Column chart icon" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:805 +msgid "SPLIT(text, delimiter, [split_by_each], [remove_empty_text])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:633 -msgid ":guilabel:`Column`: ideal for comparing values across discrete categories, such as sales per product or revenue by region." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:806 +msgid "`Excel TEXTSPLIT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Stacked column chart icon" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:807 +msgid "SUBSTITUTE(text_to_search, search_for, replace_with, [occurrence_number])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:639 -msgid ":guilabel:`Stacked Column`: displays part-to-whole relationships within categories, such as regional contributions to total sales." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:808 +msgid "`Excel SUBSTITUTE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:642 -msgid "Bar" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:809 +msgid "TEXT(number, format)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Bar chart icon" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:810 +msgid "`Excel TEXT article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:647 -msgid ":guilabel:`Bar`: similar to a column chart but horizontal, making it better for comparing long category names or datasets." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:811 +msgid "TEXTJOIN(delimiter, ignore_empty, text1, [text2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Stacked bar chart icon" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:812 +msgid "`Excel TEXTJOIN article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:653 -msgid ":guilabel:`Stacked Bar`: highlights cumulative contributions across categories, often used in demographic or resource allocation analysis." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:813 +msgid "TRIM(text)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:656 -msgid "Area" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:814 +msgid "`Excel TRIM article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Area chart icon" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:815 +msgid "UPPER(text)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:661 -msgid ":guilabel:`Area`: similar to a line chart but fills the area beneath the lines to emphasize magnitude, perfect for cumulative metrics over time." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:816 +msgid "`Excel UPPER article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Stacked area chart icon" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:817 +msgid "VALUE(text)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:667 -msgid ":guilabel:`Stacked Area`: visualizes the composition of changes over time, such as market share by product category." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:818 +msgid "`Excel VALUE article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:670 -msgid "Pie" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:823 +msgid "Web" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Pie chart icon" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:831 +msgid "HYPERLINK(url, [link_label])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:675 -msgid ":guilabel:`Pie`: best for showing proportions or percentages of a whole, such as market share or budget allocation." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:832 +msgid "`Excel HYPERLINK article `_" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Doughnut chart icon" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:837 +msgid "Odoo-specific functions" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:681 -msgid ":guilabel:`Doughnut`: a variation of the pie chart with a hollow center, offering similar use cases but with a modern aesthetic." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:839 +msgid "This section contains functions that interact directly with your Odoo database." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:684 -msgid "Hierarchical" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:895 +msgid "This function takes in two currency codes as arguments, and returns the exchange rate from -the first currency to the second as float (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Sunburst chart icon" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:904 +msgid "ODOO.PARTNER.BALANCE(partner_ids, [account_codes], [date_range], [offset], [company_id], [include_unposted])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:689 -msgid ":guilabel:`Sunburst`: a variation of the doughnut chart with hierarchical rings, showcasing part-to-whole relationships across multiple levels." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:905 +msgid "Get the partner balance for the specified account(s) and period (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Treemap chart icon" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:906 +msgid "ODOO.RESIDUAL([account_codes], [date_range], [offset], [company_id], [include_unposted])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:695 -msgid ":guilabel:`Treemap`: a multi-level rectangular chart that displays hierarchical data through nested rectangles, ideal for illustrating proportions and categories." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:907 +msgid "Get the residual amount for the specified account(s) and period (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:698 -msgid "Miscellaneous" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:934 +msgid "COUNTUNIQUE(value1, [value2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Scatter chart icon" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:935 +msgid "Counts number of unique values in a range (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:703 -msgid ":guilabel:`Scatter`: ideal for analyzing relationships or correlations between two numerical variables, such as price vs. quantity sold." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:936 +msgid "COUNTUNIQUEIFS(range, criteria_range1, criterion1, [criteria_range2, ...], [criterion2, ...])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Waterfall chart icon" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:937 +msgid "Counts number of unique values in a range, filtered by a set of criteria (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:709 -msgid ":guilabel:`Waterfall`: ideal for visualizing cumulative effects of sequential positive and negative values, such as profit/loss analysis." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:940 +msgid "Misc" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Population pyramid chart icon" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:948 +msgid "FORMAT.LARGE.NUMBER(value, [unit])" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:715 -msgid ":guilabel:`Population Pyramid`: a specialized chart for comparing distributions, often used in demographics, such as age and gender group analysis." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:949 +msgid "Apply a large number format (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Radar chart icon" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:950 +msgid "ODOO.LIST(list_id, index, field_name)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:721 -msgid ":guilabel:`Radar`: displays multivariate data as a polygon on axes radiating from a center, allowing for profile comparisons across multiple variables." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:951 +msgid "Get the value from a list (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Filled radar chart icon" +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:952 +msgid "ODOO.LIST.HEADER(list_id, field_name)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:727 -msgid ":guilabel:`Filled radar`: fills the area within the radar chart's polygon, emphasizing the overall magnitude of values across different attributes for comparison." +#: ../../content/applications/productivity/spreadsheet/work_with_data/functions.rst:953 +msgid "Get the header of a list (not compatible with Excel)" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Geo chart icon" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:3 +msgid "Global filters" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:733 -msgid ":guilabel:`Geo`: visualizes data on a map using color variations to represent values or categories across different geographical regions." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:5 +msgid "Global filters, represented by the :icon:`os-global-filters` :guilabel:`Filters` icon at the top right of an Odoo spreadsheet, allow you to apply one or more filters to all the Odoo data that has been :doc:`inserted in that spreadsheet <../insert>`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Funnel chart icon" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:9 +msgid "These filters are particularly useful for reports and dashboards as users can easily and dynamically customize the view to answer complex business questions spanning multiple data sources." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:739 -msgid ":guilabel:`Funnel`: visualizes data that progressively decreases over stages of a process, with the option to display cumulative data for each stage." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:13 +msgid "On a dashboard, global filters that have been :ref:`created in the underlying spreadsheet ` are applied via the search bar at the top of the dashboard." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:742 -msgid "Other" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:0 +msgid "Global filters at the top of a dashboard" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:744 -msgid "When creating a chart from spreadsheet data, rather than inserting one from a graph view, the following chart types are also available:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:19 +msgid "Four types of global filters are available:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Gauge chart icon" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:21 +msgid ":ref:`Date `: filters data based on a specific time range, with the options :guilabel:`Month / Quarter`, :guilabel:`Relative Period`, or :guilabel:`From / To`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:750 -msgid ":guilabel:`Gauge`: displays progress toward a goal or a single key metric, such as performance against a target." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:24 +msgid ":ref:`Relation `: filters data based on a relational field in a related model, e.g., by :guilabel:`Salesperson` with the *User* model set as the related model." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:0 -msgid "Scorecard icon" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:27 +msgid ":ref:`Text `: filters data based on a string of text or a range of predefined values, e.g., a product reference or barcode." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:756 -msgid ":guilabel:`Scorecard`: used to summarize key performance indicators (KPIs) in a compact format, such as total sales or conversion rates, and compare to a baseline or a previous value." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:29 +msgid ":ref:`Yes/No `: filters data based on whether or not a checkbox, or boolean, field is set, e.g., lead is active." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:762 -msgid ":guilabel:`Link to Odoo menu`: to add a :ref:`clickable link ` from a chart to an Odoo menu item, i.e., a specific view of a model." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:32 +msgid "Unlike the standard :icon:`fa-filter` :guilabel:`(Add filters)` spreadsheet function, which lets you sort and temporarily hide data, global filters act on the underlying :ref:`data sources `, filtering data *before* it is loaded into the spreadsheet." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:766 -msgid "Design" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:36 +msgid "When a global filter is created, :ref:`field matching ` for each data source ensures the filter acts on the correct database :doc:`fields `." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:768 -msgid "Depending on the chart type, the :icon:`fa-paint-brush` :guilabel:`Design` tab has one or more sections." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:41 +msgid "Global filters work by adding extra conditions to the domains of all the data sources in the spreadsheet. Therefore, if you intend to use global filters, do not use the same conditions when configuring the initial list, pivot table, or chart in your database." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:771 -msgid "The :guilabel:`General` section allows you to modify the following elements:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:44 +msgid "Setting default values, where relevant, ensures that the spreadsheet or dashboard loads quickly and provides a useful initial view that can be further customized if needed. For example, a :guilabel:`Date` filter could be set to show data from the last 30 days by default." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:773 -msgid ":guilabel:`Background color`: Add or change the background color by clicking on the color dot. Choose one of the standard colors or click the :icon:`fa-plus` icon to manually select a custom color." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:51 +msgid "Field matching" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:776 -msgid ":guilabel:`Chart title`: Edit the chart title, if needed. The font formatting, horizontal alignment, font size, and color of the title can be modified using the editor." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:54 +msgid "This process is crucial, as matching the wrong fields, or not setting matching fields at all, results in global filters that do not show the desired results." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:778 -msgid ":guilabel:`Legend position`: Change the position of the legend or opt to have no legend." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:57 +msgid "To function as intended, a global filter needs to act on the correct database fields. Consider a :guilabel:`Date` filter applied to sales data. As the *Sales Order* model contains several date fields, it is crucial to determine which field is relevant for the filter, e.g., the order date, the delivery date, the expected date, or the expiration date." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:779 -msgid "Enable :guilabel:`Show values` to add numeric values to the data points on the chart." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:62 +msgid "When :ref:`creating a global filter `, the :guilabel:`Field matching` section of the :guilabel:`Filter properties` allows you to determine, for each :ref:`data source ` in the spreadsheet, which database field the filter should act on, or match with." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:782 -msgid "The :guilabel:`Data Series` section allows you to modify the following elements:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:67 +msgid "Field matching is further explained in the relevant sections on creating :ref:`Date `, :ref:`Relation `, :ref:`Text `, and :ref:`Yes/No ` global filters." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:784 -msgid ":guilabel:`Series color`: With the relevant data series selected, change the color of the related data points on the chart by clicking on the color dot circle. Choose one of the standard colors or click the :icon:`fa-plus` icon to manually select a custom color." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:76 +msgid "Create global filters" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:787 -msgid ":guilabel:`Series name`: Edit the name of a data series, if needed." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:78 +msgid "Open the desired spreadsheet from the **Odoo Documents** app or via the **Odoo Dashboards** app if you are adding filters to a dashboard." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:788 -msgid ":guilabel:`Serie type`: For each data series of a :guilabel:`Combo` chart, determine whether the series is shown as a :guilabel:`Bar` or :guilabel:`Line`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:81 +msgid "To add a new filter, click :icon:`os-global-filters` :guilabel:`Filters` to open the :guilabel:`Filters` panel. Under :guilabel:`Create filter`, click :icon:`fa-calendar` :guilabel:`Date`, :icon:`fa-link` :guilabel:`Relation`, :icon:`fa-font` :guilabel:`Text`, or :icon:`fa-toggle-off` :guilabel:`Yes/No` as appropriate." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:790 -msgid ":guilabel:`Vertical axis`: For the selected data series of a :guilabel:`Line`, :guilabel:`Area`, or :guilabel:`Column` chart, select whether it should be displayed on the :guilabel:`Left` (primary) or :guilabel:`Right` (secondary) vertical axis." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:87 +msgid "Depending on the data source(s) present in the spreadsheet, suggested :ref:`relation filters ` may be shown. Clicking on a suggested filter opens the :guilabel:`Filter properties` panel with certain values preconfigured." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:793 -msgid ":guilabel:`Trend line`: With the relevant data series selected, enable :guilabel:`Show trend line` then select the type of trend line from the dropdown; the options are :guilabel:`Linear`, :guilabel:`Exponential`, :guilabel:`Polynomial`, :guilabel:`Logarithmic`, and :guilabel:`Trailing moving average`. The color of the trend line can be changed by clicking on the color circle." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:91 +msgid "When saving a global filter, if any required information is missing or if any information provided in the :ref:`Field matching ` section is not appropriate, an error is shown stating :guilabel:`Some required fields are not valid`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:798 -msgid "The :guilabel:`Axes` section allows you add a title to one or both axes of a chart. The font formatting, horizontal alignment, font size, and color of the title can be modified using the editor." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:96 +msgid "To access the underlying spreadsheet of a dashboard, :ref:`activate developer mode `, then click the :icon:`fa-pencil` :guilabel:`(Edit)` icon that appears when hovering over the dashboard name in the left panel." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:802 -msgid "Waterfall charts have a dedicated :guilabel:`Waterfall design` section." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:99 +msgid "Click :icon:`fa-thumb-tack` :guilabel:`(pin)` at the top of the :guilabel:`Filters` panel to allow another panel, such as the :guilabel:`Filter properties` panel, to open beside it." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:805 -msgid "Manage an inserted chart" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:108 +msgid "A :guilabel:`Date` filter can only match with a :ref:`Date ` or :ref:`Date & Time ` field." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:807 -msgid "After a chart from an Odoo database has been inserted into an Odoo spreadsheet, you can:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:111 +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:163 +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:210 +msgid "With the :guilabel:`Filter properties` panel open:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:809 -msgid "move the chart within the same sheet by selecting it, then dragging the chart to the desired position" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:113 +msgid "Enter a name for the new date filter in the :guilabel:`Label` field." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:811 -msgid "resize the chart by selecting it, then clicking and dragging the blue markers until the chart is the desired size" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:114 +msgid "To set a :guilabel:`Default value`, select one of the available values, e.g, `Last 30 Days` or `Month to Date`. When applying the global filter, any of the available values can be selected." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:813 -msgid "hover over the chart, then click the :icon:`fa-bars` :guilabel:`(menu)` icon to reveal the following options:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:116 +msgid "In the :guilabel:`Field matching` section, for each data source, click beside :guilabel:`Date field` and select the field the filter should match with." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:816 -msgid ":icon:`fa-clipboard` :guilabel:`Copy` or :icon:`os-cut` :guilabel:`Cut`: to copy or cut a chart with the intention of pasting it *within the same spreadsheet*, click the relevant icon or use the relevant keyboard shortcut. Paste the chart in the desired location by clicking :menuselection:`Edit -->` :icon:`os-paste` :menuselection:`Paste` from the menu bar or use the relevant keyboard shortcut." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:119 +msgid "The :guilabel:`Period offset` option, which appears when a date field is chosen, enables comparisons to be made by shifting the time range by one or more periods in the past or future. By default, no period offset is defined. To define a period offset, select :guilabel:`Previous` or :guilabel:`Next`, then select the desired number of periods in the past or future." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:823 -msgid "Copying/cutting and pasting a chart in this way maintains the link between the chart and your database. The data in the pasted chart remains up-to-date, and clicking on a data point opens the related list view in the database." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:126 +msgid "To compare data effectively using the :guilabel:`Period offset` feature, :ref:`duplicate the relevant inserted list ` or :ref:`pivot table `, then, when setting up field matching, set a period offset for the second data source but not the first." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:827 -msgid ":guilabel:`Copy as image`: to copy an image of a chart to your clipboard with the intention of pasting it *in any location within or outside your spreadsheet*, click :guilabel:`Copy as image`. Paste the image in the desired location using the paste function of the destination program or the relevant keyboard shortcut." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:131 +msgid "When applying the filter, the original list or pivot table shows data for the time range selected, while the second shows data for a period before or after that time range, as defined." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:833 -msgid "Copying and pasting a static image of a chart implies there is no longer any link between the chart and your database." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:138 +msgid "In the example below, a :guilabel:`Date` global filter allows the pivot table and chart to show sales data for any defined time period, in this case, `July 2025`. The :guilabel:`Custom Range` always shows the actual dates corresponding to the chosen period; it can also be updated directly." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:836 -msgid ":icon:`fa-trash-o` :guilabel:`Delete`: delete a chart and its underlying :ref:`data source ` by clicking :icon:`fa-trash-o` :guilabel:`Delete`. Alternatively, use your preferred keyboard command to delete a chart and its data source." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:0 +msgid "A date filter filters data for July 2025" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:843 -msgid "Insert clickable links" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:146 +msgid "In the :guilabel:`Field matching` section of the :guilabel:`Filter properties`, the field :guilabel:`Order Date` has been selected as the matching date field." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:845 -msgid "Adding links to related or supporting information can make your report or dashboard more user-friendly and effective." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:0 +msgid "A date filter with the Order Date selected as the matching field" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:848 -msgid "You can :ref:`insert a clickable link from any spreadsheet cell ` to:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:155 +msgid "Relation" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:851 -msgid "an Odoo menu item" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:158 +msgid "A :guilabel:`Relation` filter can only match with a :ref:`Many2One `, :ref:`One2Many `, or :ref:`Many2Many ` field." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:852 -msgid "another sheet inside the same spreadsheet" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:165 +msgid "Enter a name for the new relation filter in the :guilabel:`Label` field." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:853 -msgid "an external URL" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:167 +msgid "In the :guilabel:`Related model` field, start typing the model name to reveal a list of all models, then select the appropriate one. Once a model is selected, the :guilabel:`Default value` and :guilabel:`Possible values` fields appear, as well as the :guilabel:`Field matching` section." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:855 -msgid "You can :ref:`insert a clickable link from any chart ` to an Odoo menu item." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:172 +msgid "To set a :guilabel:`Default value`, select one of the available values; these are records from the model. If the related model is the *User* model, the option :guilabel:`Automatically filter on the current user` can be enabled." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:859 -msgid "Clicking a link to a menu item provides the same result as navigating via the Odoo menu within an app, e.g., the menu item :guilabel:`Sales/Orders/Quotations` corresponds to the default view when navigating to :menuselection:`Sales --> Orders --> Quotations`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:176 +msgid "To limit the values that can be shown, enable :guilabel:`Restrict values with a domain`, then click :ref:`Edit domain ` to add or edit rules." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:862 -msgid "It is also possible to insert a clickable link to a specific view of a model in a spreadsheet starting from the view itself. However, as this method inserts each new link in a new sheet, it is more efficient to create links to specific views starting from the spreadsheet." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:179 +msgid "In the :guilabel:`Field matching` section, check if the correct matching field has been assigned for each data source. If this is not the case, click below the data source name to select the correct field." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:867 -msgid "Use the middle mouse button or `Ctrl` + left-click (Microsoft/Linux), or `Command` + left-click (Mac OS) to open clickable links in a new browser tab." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:186 +msgid "In the example below, a :guilabel:`Relation` filter allows the pivot table and chart to show sales data related to selected salespeople only. The *User* model is set as the :guilabel:`Related model`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:873 -msgid "Insert a clickable link from a cell" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:0 +msgid "Relation filter set on a pivot table" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:875 -msgid "To insert a clickable link from a cell:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:193 +msgid "In the :guilabel:`Field matching` section of the :guilabel:`Filter properties`, the field :guilabel:`Salesperson` was automatically assigned as the matching field for both the pivot table and the chart." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:877 -msgid "Click :menuselection:`Insert -->` :icon:`fa-link` :menuselection:`Link` from the menu bar or right-click on the cell, then click :icon:`fa-link` :guilabel:`Insert link`. Next, depending on the desired outcome, perform one of the following actions:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:0 +msgid "A relation filter with the User model configured" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:881 -msgid "Click the :icon:`fa-bars` :guilabel:`(menu)` icon, then :guilabel:`Link an Odoo menu`. Select the relevant menu item from the list or click :guilabel:`Search more` to choose from a list of all menu items. Click :guilabel:`Confirm`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:206 +msgid "A :guilabel:`Text` filter can only match with a :ref:`Text ` (char), :ref:`Integer `, or :ref:`Decimal ` (float) field." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:884 -msgid "Click the :icon:`fa-bars` :guilabel:`(menu)` icon, then :guilabel:`Link sheet`, then choose the relevant sheet from the current spreadsheet." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:212 +msgid "Enter a name for the new text filter in the :guilabel:`Label` field." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:886 -msgid "Under :guilabel:`Link`, type a URL." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:213 +msgid "Optionally, enable :guilabel:`Restrict values to a range`. Doing so allows you to input a spreadsheet range either by typing the range or selecting it from the relevant sheet. The referenced range must be in the same spreadsheet." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:888 -msgid "Enter or edit the label for the link in the :guilabel:`Text` field." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:216 +msgid "Optionally, enter a :guilabel:`Default value`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:894 -msgid "Insert a clickable link from a chart" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:217 +msgid "In the :guilabel:`Field matching` section, for each data source click below the data source name and select the field the :guilabel:`Text` filter should match with." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:896 -msgid "To insert a clickable link from a chart to an Odoo menu item:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:223 +msgid "In the example below, a :guilabel:`Text` global filter allows the pivot table and chart to show sales data only for products whose internal reference matches or contains the entered value, in this case, `FURN`. Multiple values can be entered if desired." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:898 -msgid "Hover over the top right of the chart's box, then click the :icon:`fa-bars` :guilabel:`(menu)` icon, then :icon:`fa-pencil-square-o` :guilabel:`Edit`. The chart properties appear at the right of the screen." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:0 +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:0 +msgid "Global filters set on a pivot table" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:901 -msgid "At the bottom of the :icon:`fa-sliders` :guilabel:`Configuration` tab of the chart properties panel, click under :guilabel:`Link to Odoo menu`, then select a menu." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:230 +msgid "In the :guilabel:`Field matching` section of the :guilabel:`Filter properties`, the :guilabel:`Internal Reference` of the :guilabel:`Product Variant` was selected as the matching field for both the pivot table and the chart." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:904 -msgid "Hover over the top right of the chart's box to see that a new :icon:`fa-external-link` :guilabel:`(external link)` icon has been added." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:0 +msgid "A text filter matched to the product's internal reference" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:910 -msgid "Insert financial data" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:238 +msgid "If you selected :guilabel:`Restrict values to range` when configuring the text filter and defined a range, you select the value of the text field from a dropdown." msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:912 -msgid "When building reports and dashboards, it may be useful to include certain accounting-related data, such as account IDs, credits and debits for specific accounts, and dates of the start and end of the tax year." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:244 +msgid "Yes/No" msgstr "" -#: ../../content/applications/productivity/spreadsheet/insert.rst:916 -msgid ":ref:`Odoo-specific spreadsheet functions ` allow you to retrieve such accounting data from your database and insert it into a spreadsheet." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:247 +msgid "A :guilabel:`Yes/No` filter can only match with a :ref:`Checkbox ` (boolean) field." msgstr "" -#: ../../content/applications/productivity/spreadsheet/templates.rst:5 -msgid "Spreadsheet templates allow you to quickly create spreadsheets without starting from scratch. For example, you could create a template for a monthly budget report or a quarterly sales commission report." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:250 +msgid "With the :guilabel:`Filter properties` pane open:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/templates.rst:10 -msgid "Templates are available to all users on the database." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:252 +msgid "Enter a name for the new :guilabel:`Yes/No` filter in the :guilabel:`Label` field." msgstr "" -#: ../../content/applications/productivity/spreadsheet/templates.rst:15 -msgid "Create a template" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:253 +msgid "Optionally, select :guilabel:`Is set` or :guilabel:`Is not set` as the :guilabel:`Default value`." msgstr "" -#: ../../content/applications/productivity/spreadsheet/templates.rst:17 -msgid "Any spreadsheet can be saved as a template. Open the relevant spreadsheet or :ref:`create a new one `. From the menu bar, click :menuselection:`File -->` :icon:`os-save` :menuselection:`Save as template`. Modify the default :guilabel:`Template Name` if needed and click :guilabel:`Confirm`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:254 +msgid "In the :guilabel:`Field matching` section, for each data source, click below the data source name and select the field the :guilabel:`Yes/No` filter should match with." msgstr "" -#: ../../content/applications/productivity/spreadsheet/templates.rst:23 -msgid "Once a spreadsheet is saved as a template, any further changes to the open spreadsheet are saved only in that spreadsheet. To make changes to the template, you need to :ref:`edit the template `." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:259 +msgid "In the example below, a :guilabel:`Yes/No` global filter was created to allow the user to see all active opportunities, i.e., for which the :guilabel:`Active` checkbox is enabled on the record, or all inactive opportunities, i.e., for which the :guilabel:`Active` checkbox is disabled. Leaving the filter empty shows both active and inactive opportunities." msgstr "" -#: ../../content/applications/productivity/spreadsheet/templates.rst:27 -msgid "You can also create a template by :ref:`making a copy of an existing template and editing it `." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:267 +msgid "In the :guilabel:`Field matching` section of the :guilabel:`Filter properties`, the field :guilabel:`Active` was assigned as the matching field for the pivot table." msgstr "" -#: ../../content/applications/productivity/spreadsheet/templates.rst:33 -msgid "Use templates" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:0 +msgid "A yes/no filter with the Active field set as matching field" msgstr "" -#: ../../content/applications/productivity/spreadsheet/templates.rst:35 -msgid "To create a new spreadsheet using a template, open the Documents app and click :menuselection:`New --> Spreadsheet`. Select the relevant template and click :guilabel:`Create`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:276 +msgid "Manage and use global filters" msgstr "" -#: ../../content/applications/productivity/spreadsheet/templates.rst:38 -msgid "Alternatively, go to :menuselection:`Documents --> Configuration --> Spreadsheet Templates` then, on the line of the relevant template, click :icon:`fa-plus` :guilabel:`New spreadsheet`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:278 +msgid "Click the :icon:`os-global-filters` :guilabel:`Filters` icon at the top right of an Odoo spreadsheet to access the global filters that have been created for that spreadsheet." msgstr "" -#: ../../content/applications/productivity/spreadsheet/templates.rst:42 -msgid "By default, the new spreadsheet inherits the name of the template, which is shown at the top of the screen. To rename the spreadsheet, click the name and edit it." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:281 +msgid "It is possible to:" msgstr "" -#: ../../content/applications/productivity/spreadsheet/templates.rst:48 -msgid "Manage and edit templates" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:283 +msgid "**Apply one or more global filters** by selecting appropriate values per filter, as relevant." msgstr "" -#: ../../content/applications/productivity/spreadsheet/templates.rst:50 -msgid "Manage templates by going to :menuselection:`Documents --> Configuration --> Spreadsheet Templates`. Remove the :guilabel:`My Templates` :ref:`filter ` to view all templates in the database." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:286 +msgid "Reloading the browser will cause any global filters to reset to their initial state or default value, as relevant. To refresh data in an inserted list, pivot table, or chart without losing global filters that have been applied, click :menuselection:`Data -->` :icon:`os-refresh-data` :menuselection:`Refresh all data` from the menu bar." msgstr "" -#: ../../content/applications/productivity/spreadsheet/templates.rst:54 -msgid "Various actions are possible:" +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:291 +msgid "**Change the order** of existing filters by hovering over a filter and using the :icon:`os-thin-drag-handle` :guilabel:`(drag handle)` icon to change the position." msgstr "" -#: ../../content/applications/productivity/spreadsheet/templates.rst:56 -msgid "Copy an existing template by clicking :icon:`fa-clone` :guilabel:`Make a copy` at the right of the screen. The new template appears at the bottom of the list. Click the :guilabel:`Name` to edit it." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:293 +msgid "**Clear filter values** (whether default or selected values) by clicking the :icon:`fa-times` :guilabel:`(Clear)` icon next to the value in the filter." msgstr "" -#: ../../content/applications/productivity/spreadsheet/templates.rst:60 -msgid "Edit an existing template (including one you just copied) by clicking :icon:`fa-pencil` :guilabel:`Edit`, then making the required changes. Modifications are automatically saved." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:295 +msgid "**Edit an existing filter** by selecting the :icon:`fa-cog` :guilabel:`(Edit)` icon to open the filter's :guilabel:`Filter properties` then editing as needed." msgstr "" -#: ../../content/applications/productivity/spreadsheet/templates.rst:64 -msgid "Delete a template by ticking the checkbox next to it, clicking :icon:`fa-cog` :guilabel:`Actions`, then :guilabel:`Delete`." +#: ../../content/applications/productivity/spreadsheet/work_with_data/global_filters.rst:297 +msgid "**Delete an existing filter** by selecting the :icon:`fa-cog` :guilabel:`(Edit)` icon to open the filter's :guilabel:`Filter properties` then clicking :guilabel:`Remove`." msgstr "" #: ../../content/applications/productivity/to_do.rst:3 @@ -15973,23 +17733,35 @@ msgstr "" msgid ":guilabel:`Transport protocol`: `UDP`, `TCP`, `WSS`, `TLS`" msgstr "" +#: ../../content/applications/productivity/voip/didww.rst:58 +msgid "The SRTP media encryption and TLS SIP transport are disabled by default in DIDWW. Contact the DIDWW sales team sales@didww.com to allow traffic encryption for your account." +msgstr "" + #: ../../content/applications/productivity/voip/didww.rst:-1 msgid "The settings for a new contact method in DIDWW." msgstr "" -#: ../../content/applications/productivity/voip/didww.rst:61 +#: ../../content/applications/productivity/voip/didww.rst:65 msgid "If no phone number available from drop-down selection in *Inbound and Outbound DID/Caller ID* selection, the :guilabel:`Inbound voice trunk` needs to be modified. Navigate to the dashboard, then click :guilabel:`My Numbers`. Scroll to :guilabel:`Configuration`. In the :guilabel:`Inbound voice trunk` field, select :guilabel:`phone.systems`." msgstr "" -#: ../../content/applications/productivity/voip/didww.rst:67 +#: ../../content/applications/productivity/voip/didww.rst:70 +msgid "Lastly, verify that the DID number is selected in the *Inbound Calls* section of the SIP Device Route settings." +msgstr "" + +#: ../../content/applications/productivity/voip/didww.rst:-1 +msgid "The DID numbers field in DIDWW." +msgstr "" + +#: ../../content/applications/productivity/voip/didww.rst:77 msgid "Odoo setup" msgstr "" -#: ../../content/applications/productivity/voip/didww.rst:69 +#: ../../content/applications/productivity/voip/didww.rst:79 msgid "In *Odoo*, navigate to :menuselection:`Settings app --> Integrations --> VoIP --> Manage Providers`. Click :guilabel:`New`." msgstr "" -#: ../../content/applications/productivity/voip/didww.rst:72 +#: ../../content/applications/productivity/voip/didww.rst:82 msgid "Enter the name, `DIDWW`, then update the :guilabel:`WebSocket` field with `wss://sip.phone.systems`. Under :guilabel:`PBX Server IP`, enter `sip.phone.systems`." msgstr "" @@ -15997,7 +17769,7 @@ msgstr "" msgid "The VoIP providers page in Odoo." msgstr "" -#: ../../content/applications/productivity/voip/didww.rst:78 +#: ../../content/applications/productivity/voip/didww.rst:88 msgid "To configure a user's VoIP provider, click the user avatar icon in the top-right corner of the database, and then choose :guilabel:`My Preferences` from the sub-menu. Then click into the :guilabel:`VoIP` tab, and under the :guilabel:`Voip Provider` field, select :guilabel:`DIDWW`. Finally, enter the :guilabel:`Voip Username` and :guilabel:`Voip Secret`, then save." msgstr "" diff --git a/locale/sources/sales.pot b/locale/sources/sales.pot index 0f463f7742..f2041eb0f3 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-10-20 14:56+0200\n" +"POT-Creation-Date: 2025-11-19 09:34+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -69,7 +69,7 @@ msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/tyro.rst:14 #: ../../content/applications/sales/point_of_sale/pos_based_marketing.rst:72 #: ../../content/applications/sales/point_of_sale/pos_hardware.rst:30 -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:97 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:99 #: ../../content/applications/sales/point_of_sale/preparation.rst:12 #: ../../content/applications/sales/point_of_sale/pricing/cash_rounding.rst:17 #: ../../content/applications/sales/point_of_sale/pricing/electronic_labels.rst:16 @@ -86,9 +86,10 @@ 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:13 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:15 #: ../../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 @@ -464,7 +465,7 @@ msgstr "" #: ../../content/applications/sales/crm/acquire_leads/lead_mining.rst:89 #: ../../content/applications/sales/crm/optimize/lead_enrichment.rst:94 #: ../../content/applications/sales/crm/optimize/partner_autocomplete.rst:52 -#: ../../content/applications/sales/rental.rst:101 +#: ../../content/applications/sales/rental.rst:87 msgid "Pricing" msgstr "" @@ -5181,7 +5182,7 @@ msgid "To use an ePos printer in Point of Sale:" msgstr "" #: ../../content/applications/sales/point_of_sale/configuration/epos_printers.rst:14 -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:102 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:104 msgid ":ref:`Access the POS settings `." msgstr "" @@ -5755,7 +5756,7 @@ msgid "The barcode scanner must end barcodes with an `ENTER` character (keycode msgstr "" #: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:29 -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:80 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:82 msgid "Scale" msgstr "" @@ -5992,16 +5993,20 @@ msgstr "" msgid ":ref:`Close the current POS session `." msgstr "" -#: ../../content/applications/sales/point_of_sale/employee_login.rst:99 +#: ../../content/applications/sales/point_of_sale/employee_login.rst:97 +msgid "An employee with advanced POS rights who is not a database user cannot access the backend." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/employee_login.rst:102 #: ../../content/applications/sales/point_of_sale/self_order.rst:170 msgid "Usage guidelines" msgstr "" -#: ../../content/applications/sales/point_of_sale/employee_login.rst:102 +#: ../../content/applications/sales/point_of_sale/employee_login.rst:105 msgid "Logging in" msgstr "" -#: ../../content/applications/sales/point_of_sale/employee_login.rst:104 +#: ../../content/applications/sales/point_of_sale/employee_login.rst:107 msgid "Once the **Log in with Employees** feature is enabled, employees must log in to :ref:`open a POS session ` and access the POS interface. They can :ref:`scan their employee badge `, click the :icon:`fa-users` icon (:guilabel:`users`) to select their name from the list of authorized users, or by entering :ref:`their PIN code ` in the :guilabel:`Enter your PIN` field." msgstr "" @@ -6009,73 +6014,73 @@ msgstr "" msgid "Login window to open a session when the multiple cashiers feature is active" msgstr "" -#: ../../content/applications/sales/point_of_sale/employee_login.rst:113 +#: ../../content/applications/sales/point_of_sale/employee_login.rst:116 msgid "To switch between users during an :ref:`active session `, click on the currently logged-in employee's name at the top right of the POS screen and select the user to switch to." msgstr "" -#: ../../content/applications/sales/point_of_sale/employee_login.rst:117 +#: ../../content/applications/sales/point_of_sale/employee_login.rst:120 msgid "In the absence of a scanner, click the :icon:`fa-barcode` icon (:guilabel:`barcode`) to scan barcodes using the webcam." msgstr "" -#: ../../content/applications/sales/point_of_sale/employee_login.rst:123 +#: ../../content/applications/sales/point_of_sale/employee_login.rst:126 msgid "Logging in with badges" msgstr "" -#: ../../content/applications/sales/point_of_sale/employee_login.rst:125 +#: ../../content/applications/sales/point_of_sale/employee_login.rst:128 msgid "Employees can log in using their badge. To configure badge-based login, assign a unique badge ID to the employee's profile in the **Employees** module:" msgstr "" -#: ../../content/applications/sales/point_of_sale/employee_login.rst:128 -#: ../../content/applications/sales/point_of_sale/employee_login.rst:149 +#: ../../content/applications/sales/point_of_sale/employee_login.rst:131 +#: ../../content/applications/sales/point_of_sale/employee_login.rst:152 msgid "Navigate to the **Employees** module." msgstr "" -#: ../../content/applications/sales/point_of_sale/employee_login.rst:129 +#: ../../content/applications/sales/point_of_sale/employee_login.rst:132 msgid "Open the form view of the specific employee." msgstr "" -#: ../../content/applications/sales/point_of_sale/employee_login.rst:130 -#: ../../content/applications/sales/point_of_sale/employee_login.rst:151 +#: ../../content/applications/sales/point_of_sale/employee_login.rst:133 +#: ../../content/applications/sales/point_of_sale/employee_login.rst:154 msgid "Go to the :guilabel:`Settings` tab." msgstr "" -#: ../../content/applications/sales/point_of_sale/employee_login.rst:131 +#: ../../content/applications/sales/point_of_sale/employee_login.rst:134 msgid "The :guilabel:`Attendance/Point of Sale/Manufacturing` category offers two options:" msgstr "" -#: ../../content/applications/sales/point_of_sale/employee_login.rst:133 +#: ../../content/applications/sales/point_of_sale/employee_login.rst:136 msgid "Manually enter any badge ID in the :guilabel:`Badge ID` field." msgstr "" -#: ../../content/applications/sales/point_of_sale/employee_login.rst:134 +#: ../../content/applications/sales/point_of_sale/employee_login.rst:137 msgid "Click :guilabel:`Generate` to create a unique badge ID automatically." msgstr "" -#: ../../content/applications/sales/point_of_sale/employee_login.rst:135 +#: ../../content/applications/sales/point_of_sale/employee_login.rst:138 msgid "Click :guilabel:`Print Badge` to generate a barcode representation of the assigned badge ID." msgstr "" -#: ../../content/applications/sales/point_of_sale/employee_login.rst:137 +#: ../../content/applications/sales/point_of_sale/employee_login.rst:140 msgid "To switch users within an open POS session using a badge, you must first lock the session. To do so, click the :icon:`fa-lg fa-lock` icon (:guilabel:`lock`) to return to the login screen. Then, the new employee can scan their badge to log in." msgstr "" -#: ../../content/applications/sales/point_of_sale/employee_login.rst:144 +#: ../../content/applications/sales/point_of_sale/employee_login.rst:147 msgid "Adding a PIN Code" msgstr "" -#: ../../content/applications/sales/point_of_sale/employee_login.rst:146 +#: ../../content/applications/sales/point_of_sale/employee_login.rst:149 msgid "For enhanced security, employees may be forced to enter a PIN code each time they log into a POS session. To set up a PIN code for an employee:" msgstr "" -#: ../../content/applications/sales/point_of_sale/employee_login.rst:150 +#: ../../content/applications/sales/point_of_sale/employee_login.rst:153 msgid "Open the form view of the relevant employee." msgstr "" -#: ../../content/applications/sales/point_of_sale/employee_login.rst:152 +#: ../../content/applications/sales/point_of_sale/employee_login.rst:155 msgid "Enter a desired numerical code in the :guilabel:`PIN Code` field of the :guilabel:`Attendance/Point of Sale/Manufacturing` category." msgstr "" -#: ../../content/applications/sales/point_of_sale/employee_login.rst:156 +#: ../../content/applications/sales/point_of_sale/employee_login.rst:159 msgid "The PIN code must consist of a sequence of digits only." msgstr "" @@ -6532,29 +6537,85 @@ msgid "Payment methods" msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods.rst:7 -msgid "To add a payment method, you first need to create it. Go to :menuselection:`Point of Sale --> Configuration --> Payment Methods --> New`, and set a name. Check :guilabel:`Identify Customer` to allow this payment method *exclusively* for registered customers." +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 `." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods.rst:12 +msgid "To create a payment method, go to :menuselection:`Point of Sale --> Configuration --> Payment Methods`, click :guilabel:`New`, and follow the next steps:" msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods.rst:11 -msgid "Then, select the :guilabel:`Journal`. Choose :guilabel:`Cash` to use this payment method for cash payments, or :guilabel:`Bank` to use it for card payments." +#: ../../content/applications/sales/point_of_sale/payment_methods.rst:15 +msgid "Enter a name for the payment method." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods.rst:-1 -msgid "Creating a new payment method for a POS." +#: ../../content/applications/sales/point_of_sale/payment_methods.rst:16 +msgid "Enable the following options if needed:" msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods.rst:18 -msgid "Selecting a :guilabel:`bank` journal automatically adds the :guilabel:`Use a Payment Terminal` field in which you can add your :doc:`payment terminal's information `." +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." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods.rst:22 +msgid ":guilabel:`Identify Customer`: Force the selection of a customer during the payment." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods.rst:23 -msgid ":doc:`payment_methods/terminals`." +msgid "Select the preferred :doc:`Journal ` to record all transactions." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods.rst:25 -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:84 -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:51 -msgid "Once the payment method is created, you can select it in your POS settings. To do so, go to the :ref:`POS' settings `, click :guilabel:`Edit`, and add the payment method under the :guilabel:`Payments` section." +msgid "Select the appropriate :guilabel:`Point of Sale` to enable the payment method." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods.rst:26 +msgid "Set the :guilabel:`Integration` field to one of the following options:" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods.rst:28 +msgid ":guilabel:`None required`: For cash payments." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods.rst:29 +msgid ":guilabel:`Terminal`: :ref:`Set up a terminal ` and allow card payments." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods.rst:31 +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." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods.rst:37 +#: ../../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." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods.rst:43 +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 +msgid "Use a dedicated :ref:`cash journal ` to record cash payments." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods.rst:52 +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 +msgid "`Payment methods (video tutorial) `_" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods.rst:57 +msgid ":doc:`payment_methods/terminals`" msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/customer_credit.rst:3 @@ -6987,7 +7048,7 @@ msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/pine_labs.rst:50 #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/viva_com.rst:80 #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:73 -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:105 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:107 #: ../../content/applications/sales/point_of_sale/restaurant.rst:149 #: ../../content/applications/sales/point_of_sale/restaurant.rst:339 #: ../../content/applications/sales/sales/products_prices/products/product_images.rst:115 @@ -7046,27 +7107,23 @@ msgstr "" msgid ":doc:`Worldline `" msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:37 -msgid "Go to :menuselection:`Point of Sale --> Configuration --> Settings` and add the payment method to the :guilabel:`Payment Methods` list to make it available in the POS interface." -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:43 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:42 msgid "Terminal use" msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:45 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:44 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:50 +#: ../../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:53 +#: ../../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:54 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:53 msgid "To cancel the payment request, click :guilabel:`Cancel`." msgstr "" @@ -7179,6 +7236,11 @@ msgstr "" msgid "Finally, fill in the mandatory fields with your :ref:`Adyen API key `, :ref:`Adyen Terminal Identifier `, and :guilabel:`Adyen Merchant Account`." msgstr "" +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:84 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:51 +msgid "Once the payment method is created, you can select it in your POS settings. To do so, go to the :ref:`POS' settings `, click :guilabel:`Edit`, and add the payment method under the :guilabel:`Payments` section." +msgstr "" + #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:91 #: ../../content/applications/sales/point_of_sale/restaurant.rst:432 msgid "Tips" @@ -7539,11 +7601,11 @@ msgid "Create a QFPay account on the `QFPay website `_ from the application email." +msgid "Request the activation of `Asynchronous Notifications `_ from QFPay." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/qfpay.rst:23 -msgid "Provide the Odoo server address on the QFPay portal, followed by `/qfpay/notify`, and copy the notification key provided by QFPay." +msgid "Provide the Odoo server address to QFPay, followed by `/qfpay/notify`, and copy the notification key provided by QFPay." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/qfpay.rst:25 @@ -7551,7 +7613,7 @@ msgid "Set up the QFPay terminal by connecting the HaoJin App to the QFPay accou msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/qfpay.rst:27 -msgid "Request a self-signed certificate from QFPay linked to the terminal's IP address, and import it into the relevant POS in Odoo." +msgid "Request a self-signed certificate from QFPay linked to the terminal's IP address, and import it into the POS machine." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/qfpay.rst:29 @@ -8488,13 +8550,13 @@ msgid "To open the customer display, follow these steps:" msgstr "" #: ../../content/applications/sales/point_of_sale/pos_hardware.rst:55 -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:72 -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:163 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:74 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:165 msgid ":ref:`Open the POS register `." msgstr "" #: ../../content/applications/sales/point_of_sale/pos_hardware.rst:56 -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:73 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:75 msgid "Click the :icon:`fa-bars` (:guilabel:`hamburger menu`) icon." msgstr "" @@ -8515,135 +8577,135 @@ msgid ":doc:`../../general/iot`" msgstr "" #: ../../content/applications/sales/point_of_sale/pos_hardware.rst:68 -msgid "For POS terminals running the Odoo Android app with dual-screen support," +msgid "For POS terminals running the `Odoo `_ Android app with dual-screen support, follow these steps:" msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:70 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:72 msgid ":doc:`Activate the Point of Sale Mobile module <../../general/apps_modules>` to enable the customer display." msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:74 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:76 msgid "Click the :icon:`fa-desktop` (:guilabel:`Customer Display`) icon, which opens the customer display on the terminal's secondary screen." msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:83 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:85 msgid "In EU member states, `certification is legally required `_ to use a scale as an integrated device." msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:88 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:90 msgid "Prerequisite" msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:90 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:92 msgid "Connecting a scale requires the use of an **IoT System**." msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:93 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:95 msgid ":doc:`../../general/iot/connect`" msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:94 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:96 msgid ":doc:`../../general/iot/devices/scale`" msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:100 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:102 msgid "Scale connection" msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:103 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:105 msgid "Scroll down to the :guilabel:`Connected Devices` section and enable :guilabel:`IoT Box`." msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:104 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:106 msgid "Select the scale in the :guilabel:`Electronic Scale` field." msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:108 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:110 msgid "Alternatively, click the :icon:`fa-ellipsis-v` (:guilabel:`Dropdown menu`) icon on a POS card and click :guilabel:`Edit` to access this setting." msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:112 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:114 #: ../../content/applications/sales/sales/sales_quotations/orders_and_variants.rst:37 msgid "Product configuration" msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:114 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:116 msgid "In order to weigh products using an integrated scale, go to :menuselection:`Point of Sale --> Products --> Products`, create a product or open an existing product form, and configure it as follows:" msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:118 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:120 msgid "Ensure the :guilabel:`Point of Sale` checkbox is activated for the product to be available in POS." msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:120 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:122 msgid "On the :guilabel:`General Information` tab, define a :guilabel:`Sales Price` per :guilabel:`kg`." msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:123 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:125 msgid "This step requires to enable the :doc:`Units of Measure <../../inventory_and_mrp/inventory/product_management/configure/uom>` feature. To activate it:" msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:126 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:128 msgid "Go to :menuselection:`Inventory --> Configuration --> Settings`." msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:127 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:129 msgid "Scroll down to the :guilabel:`Products` section and activate :guilabel:`Units of Measure`." msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:128 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:130 msgid "Go to the :guilabel:`Point of Sale` tab and activate :guilabel:`To Weigh With Scale`. This enables the product to be weighed directly on the connected scale at the POS." msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:132 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:134 msgid "The selected unit of measure for weighable products must be :guilabel:`kg` to ensure compliance with **European regulations**." msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:136 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:138 msgid ":doc:`../../inventory_and_mrp/inventory/product_management/configure/uom`" msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:139 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:141 msgid "European regulations" msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:141 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:143 msgid "When using scales in commercial transactions, the database integrated with a scale must be configured to meet specific European requirements. This includes supporting at least three decimal places for accuracy and using proper rounding for units of measure, such as `kg` instead of generic `units`." msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:146 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:148 msgid "If the database is not compliant, a red :icon:`fa-balance-scale` (:guilabel:`scale`) icon displays as a warning. Click this icon to view the reasons for non-compliance and then select :guilabel:`Apply changes` to automatically apply the necessary changes to the settings. Once the database meets all regulatory requirements, the :icon:`fa-balance-scale` (:guilabel:`scale`) icon turns green." msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:155 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:157 msgid "Additional guidelines" msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:157 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:159 msgid "Both the :ref:`customer ` and POS displays must have a minimum diagonal size of 6 inches. For optimal readability, larger screens are recommended." msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:161 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:163 msgid "Using a scale in PoS" msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:164 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:166 msgid "Select the product to weigh on the order screen or scan its barcode." msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:165 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:167 msgid "Place the product on the scale and wait for the weight to be displayed in the popup window." msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:166 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:168 msgid "Once the weight is determined, the price is automatically computed." msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:167 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:169 msgid "Click :guilabel:`Order` :icon:`fa-angle-double-right` to add the product to the cart." msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:168 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:170 msgid "Remove the previous product from the scale." msgstr "" @@ -8651,7 +8713,7 @@ msgstr "" msgid "weighing window" msgstr "" -#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:175 +#: ../../content/applications/sales/point_of_sale/pos_hardware.rst:177 msgid "Make sure the scale returns to `zero` before weighing a new product. If it does not, the :guilabel:`Order` :icon:`fa-angle-double-right` button remains unclickable until it is reset." msgstr "" @@ -9446,7 +9508,7 @@ msgid "Enabling pricelists in the general P0S settings" msgstr "" #: ../../content/applications/sales/point_of_sale/pricing/pricelists.rst:26 -msgid "The selected pricelist type applies to the entire database, including the :doc:`Sales <../../sales/products_prices/prices/pricing>` and :ref:`eCommerce ` apps." +msgid "The selected pricelist type applies to the entire database, including the :doc:`Sales <../../sales/products_prices/prices/pricing>` and :ref:`eCommerce ` apps." msgstr "" #: ../../content/applications/sales/point_of_sale/pricing/pricelists.rst:33 @@ -9594,7 +9656,7 @@ msgid ":doc:`../../sales/products_prices/prices/pricing`" msgstr "" #: ../../content/applications/sales/point_of_sale/pricing/pricelists.rst:131 -msgid ":ref:`How to use pricelists in an ecommerce environment `" +msgid ":ref:`How to use pricelists in an ecommerce environment `" msgstr "" #: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:3 @@ -9909,10 +9971,6 @@ msgstr "" msgid "Tick the :guilabel:`Active` checkbox to make a table available or not." msgstr "" -#: ../../content/applications/sales/point_of_sale/restaurant.rst:109 -msgid "Save." -msgstr "" - #: ../../content/applications/sales/point_of_sale/restaurant.rst:112 msgid "Enable the :ref:`Booking ` setting to assign an :guilabel:`Appointment resource` and make a table bookable." msgstr "" @@ -10590,6 +10648,7 @@ msgid "The :guilabel:`Online Payment` feature is not supported." msgstr "" #: ../../content/applications/sales/point_of_sale/self_order.rst:117 +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:89 msgid ":doc:`../../finance/payment_providers`" msgstr "" @@ -11026,7 +11085,7 @@ msgid "Rental" msgstr "" #: ../../content/applications/sales/rental.rst:7 -msgid "The Odoo *Rental* application provides comprehensive solutions to configure and manage rentals." +msgid "The Odoo **Rental** application provides comprehensive solutions to configure and manage rentals." msgstr "" #: ../../content/applications/sales/rental.rst:9 @@ -11046,33 +11105,30 @@ msgid "Dashboard" msgstr "" #: ../../content/applications/sales/rental.rst:27 -msgid "Upon opening the *Rental* application, the :guilabel:`Rental Orders` dashboard is revealed." +msgid "Upon opening the **Rental** application, the :guilabel:`Rental Orders` dashboard is revealed." msgstr "" #: ../../content/applications/sales/rental.rst:-1 msgid "Example of the Rental Orders dashboard available in the Odoo Rental application." msgstr "" -#: ../../content/applications/sales/rental.rst:33 -msgid "In the default kanban view, all rentals are visible. Each rental card displays the customer name, the price of the rental, the related sales order number, along with the status of the rental." +#: ../../content/applications/sales/rental.rst:32 +msgid "In the default Kanban view, all rentals are visible. Each rental card displays the customer name, the price of the rental, the related sales order number, along with the status of the rental." msgstr "" -#: ../../content/applications/sales/rental.rst:37 -msgid "Rental kanban cards that do **not** display a rental status means those rentals have confirmed quotations, but have not been picked up yet." -msgstr "" - -#: ../../content/applications/sales/rental.rst:40 +#: ../../content/applications/sales/rental.rst:35 msgid "On the left sidebar, the :guilabel:`Rental Status` for each rental can be found. Beneath that, the :guilabel:`Invoice Status` of the rentals is accessible. Clicking any option in the left sidebar filters the displayed rentals on the dashboard." msgstr "" -#: ../../content/applications/sales/rental.rst:45 +#: ../../content/applications/sales/rental.rst:40 +#: ../../content/applications/sales/rental/products.rst:10 #: ../../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 msgid "Settings" msgstr "" -#: ../../content/applications/sales/rental.rst:47 +#: ../../content/applications/sales/rental.rst:42 msgid "To configure additional rental delay costs, availability of rental items, or minimum time of rental, navigate to :menuselection:`Rental app --> Configuration --> Settings`." msgstr "" @@ -11081,417 +11137,566 @@ msgstr "" msgid "How the Settings page appears in the Odoo Rental application." msgstr "" -#: ../../content/applications/sales/rental.rst:54 -msgid "In the :guilabel:`Rental` section, there are options to configure :guilabel:`Default Delay Costs` and :guilabel:`Default Padding Time`. There is also the option to activate :guilabel:`Rental Transfers` and :guilabel:`Digital Documents`." +#: ../../content/applications/sales/rental.rst:48 +msgid "In the :guilabel:`Rental` section, there are options to configure :guilabel:`Default Delay Costs` and :guilabel:`Default Padding Time`. Also, there is the option to activate :guilabel:`Rental Transfers`." msgstr "" -#: ../../content/applications/sales/rental.rst:58 +#: ../../content/applications/sales/rental.rst:52 msgid ":guilabel:`Default Delay Costs` are additional costs for late returns." msgstr "" -#: ../../content/applications/sales/rental.rst:59 +#: ../../content/applications/sales/rental.rst:53 msgid ":guilabel:`Default Padding Time` represents the minimum amount of time between two rentals." msgstr "" -#: ../../content/applications/sales/rental.rst:60 +#: ../../content/applications/sales/rental.rst:54 msgid ":guilabel:`Rental Transfers` means stock deliveries and receipts can be used for rental orders." msgstr "" -#: ../../content/applications/sales/rental.rst:62 -msgid ":guilabel:`Digital Documents` allows users to upload documents for customers to sign prior to" -msgstr "" - -#: ../../content/applications/sales/rental.rst:62 -msgid "confirming their rental." -msgstr "" - -#: ../../content/applications/sales/rental.rst:64 +#: ../../content/applications/sales/rental.rst:56 msgid "In the :guilabel:`Rent Online` section, there are options to configure a :guilabel:`Minimal Rental Duration` and designate :guilabel:`Unavailability days`, or days during which pickup and return are not possible." msgstr "" -#: ../../content/applications/sales/rental.rst:69 +#: ../../content/applications/sales/rental.rst:61 +#: ../../content/applications/sales/rental/products.rst:52 msgid "Rental products" msgstr "" -#: ../../content/applications/sales/rental.rst:71 -msgid "To view all products that can rented in the database, navigate to :menuselection:`Rentals app --> Products`. By default, the :guilabel:`Can be Rented` search filter appears in the search bar." +#: ../../content/applications/sales/rental.rst:63 +msgid "To view all products that can rented in the database, navigate to :menuselection:`Rentals app --> Products`. By default, the :guilabel:`Rental` search filter appears in the search bar." msgstr "" -#: ../../content/applications/sales/rental.rst:74 -msgid "Each product kanban card displays that product's name, rental price, and product image (if applicable)." +#: ../../content/applications/sales/rental.rst:66 +msgid "Each product Kanban card displays that product's name, rental price, and product image (if applicable)." msgstr "" -#: ../../content/applications/sales/rental.rst:78 +#: ../../content/applications/sales/rental.rst:70 msgid ":doc:`rental/manage_deposits`" msgstr "" -#: ../../content/applications/sales/rental.rst:83 +#: ../../content/applications/sales/rental.rst:75 msgid "Rental pricing" msgstr "" -#: ../../content/applications/sales/rental.rst:85 -msgid "To adjust the rental pricing on a product, go to the :guilabel:`Products` page in the *Rental* app, then select the desired product or click :guilabel:`New` to create a new product from scratch." -msgstr "" - -#: ../../content/applications/sales/rental.rst:88 -msgid "On the product form, ensure the :guilabel:`Can be Rented` checkbox is ticked. Then, open the :guilabel:`Rental prices` tab." +#: ../../content/applications/sales/rental.rst:77 +msgid "To adjust the rental pricing on a product, go to the :guilabel:`Products` page in the **Rental** app, then select the desired product or click :guilabel:`New` to create a new product from scratch." msgstr "" -#: ../../content/applications/sales/rental.rst:96 -msgid "If creating a rental product outside of the *Rental* app, just ensure the :guilabel:`Can be Rented` checkbox is ticked on the product form. By default, this checkbox is ticked whenever a product is created directly in the *Rental* application." +#: ../../content/applications/sales/rental.rst:80 +msgid "On the product form, ensure the :guilabel:`Rental` checkbox is ticked. Then, open the :guilabel:`Rental prices` tab." msgstr "" -#: ../../content/applications/sales/rental.rst:103 +#: ../../content/applications/sales/rental.rst:89 msgid "Under the :guilabel:`Pricing` section of the :guilabel:`Rental prices` tab, designate custom rental prices and rental periods for the product." msgstr "" -#: ../../content/applications/sales/rental.rst:106 +#: ../../content/applications/sales/rental.rst:92 msgid "To add pricing for a rental, click :guilabel:`Add a price`. Then, 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`." msgstr "" -#: ../../content/applications/sales/rental.rst:110 +#: ../../content/applications/sales/rental.rst:96 msgid "Next, decide whether or not to apply this custom rental price to a specific :guilabel:`Pricelist`." msgstr "" -#: ../../content/applications/sales/rental.rst:112 +#: ../../content/applications/sales/rental.rst:98 msgid "Lastly, enter the desired :guilabel:`Price` for that specific :guilabel:`Period`." msgstr "" -#: ../../content/applications/sales/rental.rst:115 -msgid "There is no limit to how many pricing lines can be added. Multiple pricing options for rental products are typically used to give discounts for customers who agree to longer rental durations." +#: ../../content/applications/sales/rental.rst:101 +msgid "No limit exists on how many pricing lines can be added. Multiple pricing options for rental products are typically used to give discounts for customers who agree to longer rental durations." msgstr "" -#: ../../content/applications/sales/rental.rst:118 -msgid "To delete any rental pricing option, click the :guilabel:`🗑️ (trash)` icon, and that row is deleted." +#: ../../content/applications/sales/rental.rst:105 +msgid "Remember when considering pricing that renting for a day is usually limited to operating hours, not 24 hours. When determining pricing, keep in mind that a rental day typically refers to operating hours, not a full 24-hour period." msgstr "" -#: ../../content/applications/sales/rental.rst:122 +#: ../../content/applications/sales/rental.rst:110 msgid "Reservations" msgstr "" -#: ../../content/applications/sales/rental.rst:124 -msgid "Under the :guilabel:`Reservations` section of the :guilabel:`Rental prices` tab, there is the option to configure additional fines for any :guilabel:`Extra Hour` or :guilabel:`Extra Day` that the customer takes to return a rental." +#: ../../content/applications/sales/rental.rst:112 +msgid "Under the :guilabel:`Reservations` section of the :guilabel:`Rental prices` tab, there is the option to configure additional fines for any :guilabel:`Hourly Fine` or :guilabel:`Daily Fine` that the customer takes to return a rental." msgstr "" -#: ../../content/applications/sales/rental.rst:128 -msgid "There is also the option to set a :guilabel:`Security Time`, expressed in hours, to make the rental product temporarily unavailable between two rental orders. Such a feature may prove useful if maintenance or cleaning is required between rentals." +#: ../../content/applications/sales/rental.rst:116 +msgid "Also, there is the option to set the :guilabel:`Reserve product` time, expressed in hours, to make the rental product temporarily unavailable between two rental orders. Such a feature may prove useful if maintenance or cleaning is required between rentals." msgstr "" -#: ../../content/applications/sales/rental.rst:133 +#: ../../content/applications/sales/rental.rst:121 msgid "Price computing" msgstr "" -#: ../../content/applications/sales/rental.rst:135 +#: ../../content/applications/sales/rental.rst:123 msgid "Odoo always uses two rules to compute the price of a product when a rental order is created:" msgstr "" -#: ../../content/applications/sales/rental.rst:137 +#: ../../content/applications/sales/rental.rst:125 msgid "Only one price line is used." msgstr "" -#: ../../content/applications/sales/rental.rst:138 +#: ../../content/applications/sales/rental.rst:126 msgid "The cheapest line is selected." msgstr "" -#: ../../content/applications/sales/rental.rst:141 +#: ../../content/applications/sales/rental.rst:129 msgid "Consider the following rental pricing configuration for a product:" msgstr "" -#: ../../content/applications/sales/rental.rst:143 +#: ../../content/applications/sales/rental.rst:131 msgid "1 day: $100" msgstr "" -#: ../../content/applications/sales/rental.rst:144 +#: ../../content/applications/sales/rental.rst:132 msgid "3 days: $250" msgstr "" -#: ../../content/applications/sales/rental.rst:145 +#: ../../content/applications/sales/rental.rst:133 msgid "1 week: $500" msgstr "" -#: ../../content/applications/sales/rental.rst:147 +#: ../../content/applications/sales/rental.rst:135 msgid "A customer wants to rent this product for eight days. What price will they pay?" msgstr "" -#: ../../content/applications/sales/rental.rst:149 +#: ../../content/applications/sales/rental.rst:137 msgid "After an order is created, Odoo selects the second line as this is the cheapest option. The customer has to pay three times '3 days' to cover the rental's eight days, for a total of $750." msgstr "" -#: ../../content/applications/sales/rental.rst:155 -msgid "Rental orders" +#: ../../content/applications/sales/rental/manage_deposits.rst:3 +msgid "Manage deposits" msgstr "" -#: ../../content/applications/sales/rental.rst:157 -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 to be filled in accordingly." +#: ../../content/applications/sales/rental/manage_deposits.rst:5 +msgid "Requiring fixed deposits is common in many rental scenarios; such as collecting security deposits." msgstr "" -#: ../../content/applications/sales/rental.rst:-1 -msgid "Sample of a filled out rental order available in the Odoo Rental application." +#: ../../content/applications/sales/rental/manage_deposits.rst:7 +msgid "This document covers the standard options for :ref:`configuring `, :ref:`collecting ` and :ref:`refunding ` deposits within the **Rentals** app." msgstr "" -#: ../../content/applications/sales/rental.rst:165 -msgid "Start by adding a :guilabel:`Customer`, then configure the desired duration of the rental in the :guilabel:`Rental period` field." +#: ../../content/applications/sales/rental/manage_deposits.rst:16 +msgid "First, create a *deposit service product* for each rental product that requires a deposit." msgstr "" -#: ../../content/applications/sales/rental.rst:168 -msgid "To adjust the rental duration, click the first date in the :guilabel:`Rental period` field, and select the range of dates to represent the rental duration from the pop-up calendar form that appears." +#: ../../content/applications/sales/rental/manage_deposits.rst:18 +msgid "To do so, go to :menuselection:`Rental --> Products` and create a :guilabel:`New` product." msgstr "" -#: ../../content/applications/sales/rental.rst:-1 -msgid "Sample of a rental period calendar pop-up window in the Odoo Rental application." +#: ../../content/applications/sales/rental/manage_deposits.rst:20 +msgid "On the product form, give the product a name that indicates it is a deposit." msgstr "" -#: ../../content/applications/sales/rental.rst:176 -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." +#: ../../content/applications/sales/rental/manage_deposits.rst:23 +msgid "If this deposit service product is intended for the *Digital Camera* rental product, the name may be entered as `Digital Camera Deposit`." msgstr "" -#: ../../content/applications/sales/rental.rst:180 -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." +#: ../../content/applications/sales/rental/manage_deposits.rst:26 +msgid "Next, set the :guilabel:`Product Type` to :guilabel:`Service`, the :guilabel:`Invoicing Policy` to :guilabel:`Delivered quantities` and then assign a :guilabel:`Sales Price` with the amount to collect for the deposit. Choose whether or not to include :guilabel:`Sales Taxes` for this deposit service product." msgstr "" -#: ../../content/applications/sales/rental.rst:184 -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." +#: ../../content/applications/sales/rental/manage_deposits.rst:31 +msgid "Finally, :icon:`fa-cloud-upload` :guilabel:`(save)` the deposit service product." msgstr "" -#: ../../content/applications/sales/rental.rst:187 -msgid "Simply select the desired range of dates to represent the duration of the rental, then click :guilabel:`Update Rental Prices` in the :guilabel:`Duration` field." +#: ../../content/applications/sales/rental/manage_deposits.rst:36 +msgid "Collect deposits from an optional product" msgstr "" -#: ../../content/applications/sales/rental.rst:-1 -msgid "The update rental prices option that appears in the Odoo Rental application." +#: ../../content/applications/sales/rental/manage_deposits.rst:38 +msgid "On the rental product's form, go to the :guilabel:`Sales` tab and add the :ref:`deposit service product ` to the :guilabel:`Optional Products`." msgstr "" -#: ../../content/applications/sales/rental.rst:194 -msgid "Doing so reveals a :guilabel:`Confirmation` pop-up window. If everything is correct, click :guilabel:`Ok`, and Odoo recalculates the rental price accordingly." +#: ../../content/applications/sales/rental/manage_deposits.rst:41 +msgid "Be sure to configure the rental product's prices on the :ref:`Rental prices ` tab." msgstr "" -#: ../../content/applications/sales/rental.rst:197 -msgid "Once all the information has been entered correctly on the rental order form, click the :guilabel:`Send by Email` button to send the quotation to the customer, or click the :guilabel:`Confirm` button to confirm the order." +#: ../../content/applications/sales/rental/manage_deposits.rst:43 +msgid "With the above configuration, a :ref:`rental order ` can be created." msgstr "" -#: ../../content/applications/sales/rental.rst:204 -msgid "Customer signature" +#: ../../content/applications/sales/rental/manage_deposits.rst:46 +msgid "After selecting the rental product in the :guilabel:`Order Lines` tab, be sure to :icon:`fa-plus` :guilabel:`Add` the deposit service product in the :guilabel:`Configure your product` pop-up." msgstr "" -#: ../../content/applications/sales/rental.rst:206 -msgid "Upon confirming a rental order, the :guilabel:`Sign Documents` button appears. This gives the ability to request the customer sign a rental agreement, outlining the arrangement between the company and customer, *before* they pick up the rental product(s)." +#: ../../content/applications/sales/rental/manage_deposits.rst:49 +msgid "The :guilabel:`Configure your product` pop-up only appears if the optional product is set on the rental product." msgstr "" -#: ../../content/applications/sales/rental.rst:210 -msgid "Such documents can ensure everything is returned on-time and in its original condition." +#: ../../content/applications/sales/rental/manage_deposits.rst:53 +msgid "If :doc:`eCommerce <../../websites/ecommerce>` is installed, add an :guilabel:`Ecommerce Description` stating the deposit is required in the rental product's :guilabel:`Sales` tab." msgstr "" -#: ../../content/applications/sales/rental.rst:213 -msgid "The :guilabel:`Sign Documents` button/option **only** appears if the :guilabel:`Digital Documents` feature has been activated in the *Rental* application settings. To do so, navigate to :menuselection:`Rental app --> Configuration --> Settings`, activate :guilabel:`Digital Documents`, and click :guilabel:`Save`." +#: ../../content/applications/sales/rental/manage_deposits.rst:56 +msgid "When a customer adds the rental product to their cart, a :guilabel:`Configure your product` pop-up displays the deposit service product under :guilabel:`Available options`." msgstr "" -#: ../../content/applications/sales/rental.rst:219 -msgid "This feature also requires the :doc:`Sign <../productivity/sign>` app. If necessary, Odoo automatically installs it after activating the :guilabel:`Digital Documents` setting." +#: ../../content/applications/sales/rental/manage_deposits.rst:59 +msgid "Once the customer clicks :icon:`fa-shopping-cart` :guilabel:`Add` the rental product and the deposit service product are added to their cart." msgstr "" -#: ../../content/applications/sales/rental.rst:222 -msgid "To request a customer signature on a rental agreement, select a confirmed rental order, and click the :guilabel:`Sign Documents` button to reveal a :guilabel:`Sign Documents` pop-up window." +#: ../../content/applications/sales/rental/manage_deposits.rst:-1 +msgid "A deposit service product listed in the rental quotation." msgstr "" -#: ../../content/applications/sales/rental.rst:-1 -msgid "The Sign Documents pop-up window that appears in the Odoo Rental application." +#: ../../content/applications/sales/rental/manage_deposits.rst:68 +msgid "Refund deposits upon return" msgstr "" -#: ../../content/applications/sales/rental.rst:229 -msgid "From here, select the desired document from the :guilabel:`Document Template` field. Then, click :guilabel:`Sign Document`. Doing so reveals a :guilabel:`New Signature Request` pop-up window." +#: ../../content/applications/sales/rental/manage_deposits.rst:70 +msgid "Once a customer :ref:`returns the rented product `, reimburse their deposit with a :doc:`credit note <../../finance/accounting/customer_invoices/credit_notes>` from the invoice, and change the *delivered quantity* to `0` on the linked sales order." msgstr "" -#: ../../content/applications/sales/rental.rst:-1 -msgid "The New Signature Request pop-up window that appears in the Odoo Rental application." +#: ../../content/applications/sales/rental/products.rst:3 +msgid "Physical rental products" msgstr "" -#: ../../content/applications/sales/rental.rst:236 -msgid "Upon confirming the information in the :guilabel:`New Signature Request` pop-up form, click :guilabel:`Sign Now` to initiate the signing process." +#: ../../content/applications/sales/rental/products.rst:5 +msgid "Odoo **Rental** app allows users to customize the scheduling, pricing, and inventory for rental physical products. Users can set up multiple pickup and drop-off locations and track rental products by serial number." msgstr "" -#: ../../content/applications/sales/rental.rst:239 -msgid "A separate page is then revealed, showcasing the document to be signed, which is accessible to the customer via the customer portal." +#: ../../content/applications/sales/rental/products.rst:12 +msgid "To configure default settings on rental products, navigate to :menuselection:`Rental app --> Configuration --> Settings`." msgstr "" -#: ../../content/applications/sales/rental.rst:242 -msgid "Odoo guides the customer through the signing process with clear, clickable indicators, and allows them to create electronic signatures to quickly complete the form." +#: ../../content/applications/sales/rental/products.rst:-1 +msgid "The Rental setting view in the Rental app." msgstr "" -#: ../../content/applications/sales/rental.rst:-1 -msgid "The adopt your signature pop-up window that appears in the Odoo Rental application." +#: ../../content/applications/sales/rental/products.rst:18 +msgid "In the **Rental** section, under the :guilabel:`Default Delay Costs` subsection, fill in the :guilabel:`Apply after` field." msgstr "" -#: ../../content/applications/sales/rental.rst:249 -msgid "Once the document has been signed and completed, click the :guilabel:`Validate & Send Completed Document` button at the bottom of the document." +#: ../../content/applications/sales/rental/products.rst:22 +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 "" -#: ../../content/applications/sales/rental.rst:-1 -msgid "The validate and send completed document button in the Odoo Rental application." +#: ../../content/applications/sales/rental/products.rst:26 +msgid "In the :guilabel:`Default Padding Time` section, fill in the :guilabel:`Padding` field. Next, enable :guilabel:`Rental Transfers`." msgstr "" -#: ../../content/applications/sales/rental.rst:256 -msgid "Upon clicking the :guilabel:`Validate & Send Completed Document` button, Odoo presents the option to download the signed document for record-keeping purposes, if necessary." +#: ../../content/applications/sales/rental/products.rst:29 +msgid "In the :guilabel:`Rent Online` section, fill in the :guilabel:`Minimal Rental Duration` field and designate :guilabel:`Unavailability` days." msgstr "" -#: ../../content/applications/sales/rental.rst:260 -msgid "`Odoo Tutorials: Sign `_" +#: ../../content/applications/sales/rental/products.rst:32 +msgid "Click **Save** to apply the changes." msgstr "" -#: ../../content/applications/sales/rental.rst:265 -msgid "Pickup products" +#: ../../content/applications/sales/rental/products.rst:35 +msgid "Multi-location management and transfers" msgstr "" -#: ../../content/applications/sales/rental.rst:267 -msgid "When a customer picks up the product(s), navigate to the appropriate rental order, click the :guilabel:`Pickup` button, and then click :guilabel:`Validate` in the :guilabel:`Validate a pickup` pop-up form that appears." +#: ../../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.rst:271 -msgid "Doing so places a :guilabel:`Picked-up` status banner on the rental order." +#: ../../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.rst:276 -msgid "Return products" +#: ../../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.rst:278 -msgid "When a customer returns the product(s), navigate to the appropriate rental order, click the :guilabel:`Return` button, and validate the return by clicking :guilabel:`Validate` in the :guilabel:`Validate a return` pop-up form that appears." +#: ../../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.rst:282 -msgid "Doing so places a :guilabel:`Returned` status banner on the rental order." +#: ../../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.rst:285 -msgid "Print pickup and return receipts" +#: ../../content/applications/sales/rental/products.rst:58 +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.rst:287 -msgid "Pickup and return receipts can be printed for customers when they pick up and/or return rental products." +#: ../../content/applications/sales/rental/products.rst:62 +msgid "Create a new physical product" msgstr "" -#: ../../content/applications/sales/rental.rst:290 -msgid "To print pickup and/or return receipts, navigate to the appropriate rental order, click the :guilabel:`⚙️ (gear)` icon to reveal a drop-down menu." +#: ../../content/applications/sales/rental/products.rst:64 +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 "" -#: ../../content/applications/sales/rental.rst:-1 -msgid "The pickup and return receipt print option in the Odoo Rental application." +#: ../../content/applications/sales/rental/products.rst:-1 +msgid "The new product view in the Rental app." msgstr "" -#: ../../content/applications/sales/rental.rst:297 -msgid "From this drop-down menu, hover over the :guilabel:`Print` option to reveal a sub-menu. Then select :guilabel:`Pickup and Return Receipt`." +#: ../../content/applications/sales/rental/products.rst:71 +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.rst:300 -msgid "Odoo generates and downloads a PDF, detailing all information about the current status of the rented item(s)." +#: ../../content/applications/sales/rental/products.rst:76 +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/manage_deposits.rst:3 -msgid "Manage deposits" +#: ../../content/applications/sales/rental/products.rst:82 +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 "" -#: ../../content/applications/sales/rental/manage_deposits.rst:5 -msgid "Requiring fixed deposits is common in many rental scenarios; such as collecting security deposits." +#: ../../content/applications/sales/rental/products.rst:0 +msgid "Sample of a New Period view in the Rental app." msgstr "" -#: ../../content/applications/sales/rental/manage_deposits.rst:7 -msgid "This document covers the standard options for :ref:`configuring `, :ref:`collecting ` and :ref:`refunding ` deposits within the **Rentals** app." +#: ../../content/applications/sales/rental/products.rst:89 +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/manage_deposits.rst:16 -msgid "First, create a *deposit service product* for each rental product that requires a deposit." +#: ../../content/applications/sales/rental/products.rst:93 +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/manage_deposits.rst:18 -msgid "To do so, go to :menuselection:`Rental --> Products` and create a :guilabel:`New` product." +#: ../../content/applications/sales/rental/products.rst:98 +msgid "Click the :icon:`fa-cloud-upload` :guilabel:`(Save manually)` icon near the top to save." msgstr "" -#: ../../content/applications/sales/rental/manage_deposits.rst:20 -msgid "On the product form, give the product a name that indicates it is a deposit." +#: ../../content/applications/sales/rental/products.rst:101 +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/manage_deposits.rst:23 -msgid "If this deposit service product is intended for the *Digital Camera* rental product, the name may be entered as `Digital Camera Deposit`." +#: ../../content/applications/sales/rental/products.rst:106 +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/manage_deposits.rst:26 -msgid "Next, set the :guilabel:`Product Type` to :guilabel:`Service`, the :guilabel:`Invoicing Policy` to :guilabel:`Delivered quantities` and then assign a :guilabel:`Sales Price` with the amount to collect for the deposit. Choose whether or not to include :guilabel:`Sales Taxes` for this deposit service product." +#: ../../content/applications/sales/rental/products.rst:109 +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 "" -#: ../../content/applications/sales/rental/manage_deposits.rst:31 -msgid "Finally, :icon:`fa-cloud-upload` :guilabel:`(save)` the deposit service product." +#: ../../content/applications/sales/rental/products.rst:0 +msgid "Sample of a rental product with the custom rental period applied." msgstr "" -#: ../../content/applications/sales/rental/manage_deposits.rst:36 -msgid "Collect deposits from an optional product" +#: ../../content/applications/sales/rental/products.rst:118 +msgid "Create a rental order" msgstr "" -#: ../../content/applications/sales/rental/manage_deposits.rst:38 -msgid "On the rental product's form, go to the :guilabel:`Sales` tab and add the :ref:`deposit service product ` to the :guilabel:`Optional Products`." +#: ../../content/applications/sales/rental/products.rst:120 +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 "" -#: ../../content/applications/sales/rental/manage_deposits.rst:41 -msgid "Be sure to configure the rental product's prices on the :ref:`Rental prices ` tab." +#: ../../content/applications/sales/rental/products.rst:-1 +msgid "Sample of a filled out rental order available in the Odoo Rental application." msgstr "" -#: ../../content/applications/sales/rental/manage_deposits.rst:43 -msgid "With the above configuration, a :ref:`rental order ` can be created." +#: ../../content/applications/sales/rental/products.rst:126 +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/manage_deposits.rst:46 -msgid "After selecting the rental product in the :guilabel:`Order Lines` tab, be sure to :icon:`fa-plus` :guilabel:`Add` the deposit service product in the :guilabel:`Configure your product` pop-up." +#: ../../content/applications/sales/rental/products.rst:129 +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 "" -#: ../../content/applications/sales/rental/manage_deposits.rst:49 -msgid "The :guilabel:`Configure your product` pop-up only appears if the optional product is set on the rental product." +#: ../../content/applications/sales/rental/products.rst:-1 +msgid "Sample of a rental period calendar pop-up window in the Odoo Rental application." msgstr "" -#: ../../content/applications/sales/rental/manage_deposits.rst:53 -msgid "If :doc:`eCommerce <../../websites/ecommerce>` is installed, add an :guilabel:`Ecommerce Description` stating the deposit is required in the rental product's :guilabel:`Sales` tab." +#: ../../content/applications/sales/rental/products.rst:136 +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/manage_deposits.rst:56 -msgid "When a customer adds the rental product to their cart, a :guilabel:`Configure your product` pop-up displays the deposit service product under :guilabel:`Available options`." +#: ../../content/applications/sales/rental/products.rst:140 +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/manage_deposits.rst:59 -msgid "Once the customer clicks :icon:`fa-shopping-cart` :guilabel:`Add` the rental product and the deposit service product are added to their cart." +#: ../../content/applications/sales/rental/products.rst:144 +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/manage_deposits.rst:-1 -msgid "A deposit service product listed in the rental quotation." +#: ../../content/applications/sales/rental/products.rst:147 +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 "" -#: ../../content/applications/sales/rental/manage_deposits.rst:68 -msgid "Refund deposits upon return" +#: ../../content/applications/sales/rental/products.rst:-1 +msgid "The update rental prices option that appears in the Odoo Rental application." msgstr "" -#: ../../content/applications/sales/rental/manage_deposits.rst:70 -msgid "Once a customer :ref:`returns the rented product `, reimburse their deposit with a :doc:`credit note <../../finance/accounting/customer_invoices/credit_notes>` from the invoice, and change the *delivered quantity* to `0` on the linked sales order." +#: ../../content/applications/sales/rental/products.rst:153 +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/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/products.rst:156 +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/sales.rst:14 -msgid "`Odoo Tutorials: Sales Tutorials `_" +#: ../../content/applications/sales/rental/products.rst:161 +msgid "Create an invoice" msgstr "" -#: ../../content/applications/sales/sales/amazon_connector.rst:5 -msgid "Amazon Connector" +#: ../../content/applications/sales/rental/products.rst:163 +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/sales/amazon_connector/features.rst:3 -msgid "Amazon Connector features" +#: ../../content/applications/sales/rental/products.rst:-1 +msgid "Sample of the INVOICE STATUS section in the Rental app." msgstr "" -#: ../../content/applications/sales/sales/amazon_connector/features.rst:5 -msgid "The *Amazon Connector* synchronizes orders between Amazon and Odoo, which considerably reduces the amount of time spent manually entering Amazon orders (from the Amazon Seller account) into Odoo. It also allows users to accurately keep track of Amazon sales in Odoo." +#: ../../content/applications/sales/rental/products.rst:170 +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/sales/amazon_connector/features.rst:10 -#: ../../content/applications/sales/sales/shopee_connector.rst:12 -msgid "Supported features" +#: ../../content/applications/sales/rental/products.rst:-1 +msgid "Sample of Create invoices window in the Rental app." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:176 +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 "" + +#: ../../content/applications/sales/rental/products.rst:-1 +msgid "Sample of the Pay page in the Rental app." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:184 +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 +msgid "Sample of the Payment page in the Rental app." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:191 +msgid "Customer signature" +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:193 +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 +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 +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 "" + +#: ../../content/applications/sales/rental/products.rst:-1 +msgid "The Request Signature option in the Odoo Rental application." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:208 +msgid "A :guilabel:`Sign Documents` pop-up window displays. Select the desired document from the :guilabel:`Template` drop-down menu." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:-1 +msgid "The Sign Documents pop-up window that appears in the Odoo Rental application." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:214 +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 "" + +#: ../../content/applications/sales/rental/products.rst:-1 +msgid "The New Signature Request pop-up window that appears in the Odoo Rental application." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:221 +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 +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 "" + +#: ../../content/applications/sales/rental/products.rst:-1 +msgid "The adopt your signature pop-up window that appears in the Odoo Rental application." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:232 +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 "" + +#: ../../content/applications/sales/rental/products.rst:-1 +msgid "The validate and send completed document button in the Odoo Rental application." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:240 +msgid "`Odoo Tutorials: Sign `_" +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:243 +msgid "Pickup products" +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:245 +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 "" + +#: ../../content/applications/sales/rental/products.rst:-1 +msgid "Sample of a Pickup page in the Rental app." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:252 +msgid "Doing so places a :guilabel:`Pickedup` status banner on the rental order." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:257 +msgid "Return products" +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:259 +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 +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 "" + +#: ../../content/applications/sales/rental/products.rst:-1 +msgid "Sample of the Return page in the Rental app." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:268 +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 +msgid "Print pickup and return receipts" +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:274 +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 +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 "" + +#: ../../content/applications/sales/rental/products.rst:-1 +msgid "The pickup and return receipt print option in the Odoo Rental application." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:283 +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 +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." +msgstr "" + +#: ../../content/applications/sales/sales.rst:14 +msgid "`Odoo Tutorials: Sales Tutorials `_" +msgstr "" + +#: ../../content/applications/sales/sales/amazon_connector.rst:5 +msgid "Amazon Connector" +msgstr "" + +#: ../../content/applications/sales/sales/amazon_connector/features.rst:3 +msgid "Amazon Connector features" +msgstr "" + +#: ../../content/applications/sales/sales/amazon_connector/features.rst:5 +msgid "The *Amazon Connector* synchronizes orders between Amazon and Odoo, which considerably reduces the amount of time spent manually entering Amazon orders (from the Amazon Seller account) into Odoo. It also allows users to accurately keep track of Amazon sales in Odoo." +msgstr "" + +#: ../../content/applications/sales/sales/amazon_connector/features.rst:10 +#: ../../content/applications/sales/sales/shopee_connector.rst:12 +msgid "Supported features" msgstr "" #: ../../content/applications/sales/sales/amazon_connector/features.rst:12 @@ -14227,19 +14432,19 @@ msgstr "" msgid "To begin using discount and loyalty programs, navigate to :menuselection:`Sales --> Configuration --> Settings`. Under the :guilabel:`Pricing` heading, activate the :guilabel:`Discounts, Loyalty & Gift Card` setting by checking the box next to the feature. Finally, click :guilabel:`Save` to save the changes." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:19 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:21 msgid "Configure discount and loyalty programs" msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:21 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:23 msgid "To create discount and loyalty programs, go to :menuselection:`Sales --> Products --> Discount & Loyalty`." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:24 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:26 msgid "If no discount or loyalty programs have been created yet, Odoo provides a choice of templates to help create the first program. Choose one of the template cards, or click :guilabel:`New` to create a new program from scratch." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:28 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:30 msgid "Or, if there are already existing programs, select an existing program to edit it." msgstr "" @@ -14247,11 +14452,11 @@ msgstr "" msgid "Discount and loyalty program template cards." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:35 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:37 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:38 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:40 msgid "Creating or editing a program opens the program form." msgstr "" @@ -14259,63 +14464,63 @@ msgstr "" msgid "Program options on the loyalty program form." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:44 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:46 msgid "The program form contains the following fields:" msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:46 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:48 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:48 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:50 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:50 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:52 msgid ":guilabel:`Currency`: Select the currency used for the program." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:51 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:53 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:57 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:59 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:60 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:62 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:62 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:64 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:64 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:66 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:66 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:68 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:68 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:70 msgid ":guilabel:`Available On`: Select the apps on which the program is available." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:69 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:71 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:71 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:73 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:75 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:77 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:78 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:80 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 "" @@ -14323,7 +14528,7 @@ msgstr "" msgid "Program items smart button on the loyalty program form." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:86 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:88 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 "" @@ -14331,51 +14536,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:93 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:95 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:98 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:100 msgid "Program types" msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:100 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:102 msgid "The different :guilabel:`Program Types` available on the program form are:" msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:102 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:104 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:104 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:106 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:106 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:108 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:108 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:110 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:110 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:112 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:112 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:114 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:116 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:118 msgid "Conditional rules" msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:118 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:120 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:121 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:123 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 "" @@ -14383,39 +14588,39 @@ msgstr "" msgid "Rules & Rewards tab of the loyalty program form." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:130 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:132 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:133 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:135 msgid "The following options are available for configuring conditional rules:" msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:135 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:137 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:138 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:140 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:141 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:143 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:145 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:147 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:147 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:149 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:149 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:151 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:150 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:152 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 "" @@ -14423,68 +14628,68 @@ msgstr "" msgid "Conditional rules configuration window for a discount or loyalty program." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:158 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:160 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:162 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:164 msgid "Rewards" msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:164 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:166 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:169 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:171 msgid "The options for :guilabel:`Rewards` vary depending on the selected :ref:`Program Type `." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:172 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:174 msgid "The following options are available for configuring rewards:" msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:174 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:176 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:178 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:180 msgid ":guilabel:`Free Product`:" msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:180 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:182 msgid ":guilabel:`Quantity Rewarded`: Select the number of free products rewarded to the customer." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:181 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:183 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:183 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:185 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:186 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:188 msgid ":guilabel:`Discount`:" msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:188 +#: ../../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`." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:192 -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:197 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:194 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:199 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:195 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:197 msgid ":guilabel:`Free Shipping`:" msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:200 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:202 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:202 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:204 msgid ":guilabel:`Description on order`: Enter the description of the reward, which is displayed to the customer upon checkout." msgstr "" @@ -14670,51 +14875,51 @@ msgstr "" msgid "Next, under the :guilabel:`Rates` tab, add a new rate by clicking :guilabel:`Add a line`. Then, proceed to confirm and adjust the :guilabel:`Date`, :guilabel:`Company`, :guilabel:`Unit per...`, and :guilabel:`...per Unit` fields to ensure all the auto-populated information is accurate." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:163 +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:165 msgid "Currency-specific pricelists" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:165 +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:167 msgid "It is recommended that *at least* one pricelist is created per active currency in the database. To create (or assign) a pricelist to a specific currency, start by navigating to :menuselection:`Sales app --> Products --> Pricelists`." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:169 +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:171 msgid "From the :guilabel:`Pricelists` page, either select an existing pricelist to edit, or click :guilabel:`New` to create a new pricelist." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:172 +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:174 msgid "On the pricelist detail form, for either a new or existing pricelist, adjust the :guilabel:`Currency` field as desired." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:176 +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:178 msgid ":doc:`./pricing` to learn more about pricelist configuration." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:179 +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:181 msgid "Auto-conversion from public price" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:181 +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:183 msgid "It should be noted that the public price seen on products is directly related to the main currency the company has set, which is configured by navigating to :menuselection:`Accounting app --> Configuration --> Settings --> Currencies section --> Main Currency --> Currency drop-down menu`." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:185 +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:187 msgid "The sales price automatically updates if the pricelist is changed to a different pricelist that has a different currency than the company's main currency. The change in price is directly related to the updated conversion rate for that currency." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:190 +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:192 msgid "Set product prices" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:192 +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:194 msgid "In order to have product prices set in place to avoid any changes in currency rates, start by navigating to :menuselection:`Sales app --> Products --> Products`." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:195 +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:197 msgid "From the :guilabel:`Products` page, select the desired product to modify. Or, create a new product by clicking the :guilabel:`New` button." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:198 +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:200 msgid "Then, on the product detail form, click the :guilabel:`Extra Prices` smart button, located in the upper-left corner. Doing so reveals a separate :guilabel:`Price Rules` page, specific to that particular product." msgstr "" @@ -14722,31 +14927,31 @@ msgstr "" msgid "How to set product prices based on foreign currency pricelists in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:206 +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:208 msgid "Click :guilabel:`New`, and select the desired pricelist from the drop-down menu in the :guilabel:`Pricelist` column." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:209 +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:211 msgid "The :guilabel:`Applied On` field is auto-populated with the product, so proceed to enter in the desired figures in the :guilabel:`Min. Quantity` and :guilabel:`Price` fields." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:213 +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:215 msgid "The figure in the :guilabel:`Min. Quantity` field means the :guilabel:`Price` being set will **only** trigger if at least that amount of product is purchased." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:216 +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:218 msgid "If necessary, configure a :guilabel:`Start Date` and :guilabel:`End Date` for the set prices. Leaving those columns blank ensures the set price will remain valid, regardless of the date of sale." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:219 +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:221 msgid "If working in a multi-company environment, designate to which company this price rule should be applied in the :guilabel:`Company` field. Leaving that field blank ensures the price rule applies to all companies in the database." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:223 +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:225 msgid "With those configurations complete, regardless of any changes/updates in conversion, whenever those designated pricelists are applied to a customer trying to purchase this specific product, these pre-determined set prices appear." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:228 +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:230 msgid ":doc:`./pricing`" msgstr "" @@ -14846,7 +15051,7 @@ msgstr "" 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:15 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:17 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 "" @@ -14854,11 +15059,11 @@ msgstr "" msgid "How the pricelist feature setting looks in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:22 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:24 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:27 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:29 msgid "Either option reveals the :guilabel:`Pricelists` page, in which pricelists can be created and/or modified at any time." msgstr "" @@ -14866,27 +15071,27 @@ msgstr "" msgid "How the pricelists page looks in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:34 +#: ../../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:38 +#: ../../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." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:42 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:44 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:45 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:47 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:49 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:51 msgid "Creating and editing pricelists" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:51 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:53 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 "" @@ -14894,51 +15099,51 @@ msgstr "" msgid "How the pricelist detail form looks in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:58 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:60 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:61 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:63 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:65 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:67 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:71 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:73 msgid "Price Rules tab" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:73 +#: ../../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:77 +#: ../../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`." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:79 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:81 msgid "From here, there are several configuration options:" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:81 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:83 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:83 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:85 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:84 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:86 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:88 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:90 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:92 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:94 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 "" @@ -14950,43 +15155,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:101 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:103 msgid ":guilabel:`Formula`: Calculate the pricelist rules based the following configuration:" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:103 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:105 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:107 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:109 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:110 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:112 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:115 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:117 msgid "Rounding is applied *after* the discount and *before* the extra fee." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:117 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:119 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:119 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:121 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:122 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:124 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:124 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:126 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:128 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:130 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 "" @@ -14994,7 +15199,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:136 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:138 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 "" @@ -15002,27 +15207,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:144 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:146 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:148 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:150 msgid "Recurring Prices tab" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:150 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:152 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:153 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:155 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:157 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:159 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:161 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:163 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 "" @@ -15030,7 +15235,7 @@ msgstr "" msgid "The recurring prices tab in a pricelist configuration form." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:167 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:169 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 "" @@ -15038,31 +15243,31 @@ msgstr "" msgid "Custom time period pop-up form in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:179 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:181 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:183 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:185 msgid ":doc:`../../../subscriptions`" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:186 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:188 msgid "Rental rules tab" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:188 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:190 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:192 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:194 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:195 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:197 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:197 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:199 msgid "Lastly, configure a :guilabel:`Price` for the rental rule in the respective column." msgstr "" @@ -15070,43 +15275,19 @@ msgstr "" msgid "The rental tab in a pricelist configuration form." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:203 -msgid "Ecommerce Tab" -msgstr "" - #: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:205 -msgid "Under the :guilabel:`Ecommerce` tab, price rules can be configured for products sold on an :doc:`Ecommerce website <../../../../websites/ecommerce/products>`." -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:208 -msgid "To enable the pricelist to be visible, select the target website in the :guilabel:`Website` field." +msgid ":doc:`Ecommerce price configuration `" msgstr "" #: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:210 -msgid "The :guilabel:`Selectable` can be enabled to allow the customer to choose this pricelist." -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:212 -msgid "Finally, promotional and loyalty codes can be added to the :guilabel:`E-commerce Promotional Code` field." -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:215 -msgid "Tick the :guilabel:`Selectable` checkbox to have this pricelist as a selectable option for customers to choose as they shop. If the :guilabel:`Selectable` box is left unticked, customers **cannot** select this pricelist for themselves." -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:219 -msgid "Lastly, there is the option to add an :guilabel:`E-commerce Promotional Code`. To add a code, type in the desired promo code that, when entered during the checkout process, applies the pricelist to the customer, even if the customer does not fall into the previously-specified criteria." -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:224 msgid "Customer pricelist application" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:226 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:212 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:229 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:215 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 "" @@ -15114,7 +15295,7 @@ msgstr "" msgid "Sample customer detail form in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:237 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:223 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 "" @@ -15122,64 +15303,64 @@ msgstr "" msgid "The pricelist field in a customer detail form in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:246 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:232 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:250 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:236 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:256 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:242 msgid "Conditions" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:258 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:244 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:261 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:247 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:263 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:249 msgid ":guilabel:`All Products`: the advanced pricelist rule will be applied to all products." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:264 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:250 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:266 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:252 msgid ":guilabel:`Product`: the advanced pricelist rule will be applied to a specific product." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:267 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:253 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:270 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:256 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:274 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:260 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:278 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:264 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:283 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:269 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:287 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:273 msgid ":doc:`/applications/sales/sales/products_prices/prices/currencies`" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:288 -msgid ":doc:`/applications/websites/ecommerce/products/price_management`" +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:274 +msgid ":doc:`/applications/websites/ecommerce/products/prices`" msgstr "" #: ../../content/applications/sales/sales/products_prices/products.rst:5 @@ -15959,11 +16140,11 @@ msgstr "" 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:228 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:230 msgid "Configure variants" msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:230 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:232 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 "" @@ -15971,15 +16152,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:237 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:239 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:241 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:243 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:244 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:246 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 "" @@ -15987,19 +16168,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:251 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:253 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:254 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:256 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:259 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:261 msgid "Variants smart button" msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:261 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:263 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 "" @@ -16007,7 +16188,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:269 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:271 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 "" @@ -16015,39 +16196,39 @@ 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:277 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:279 msgid "Impact of variants" msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:279 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:281 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:282 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:284 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:284 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:286 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:288 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:290 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:292 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:294 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:295 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:297 msgid ":guilabel:`Picture`: each product variant can have its own specific picture." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:298 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:300 msgid "Changes to the product template automatically apply to every variant of that product." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:301 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:303 msgid ":doc:`import`" msgstr "" @@ -16728,7 +16909,7 @@ msgstr "" #: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:328 #: ../../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:77 +#: ../../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 msgid ":doc:`quote_template`" @@ -16745,7 +16926,7 @@ msgid ":doc:`get_signature_to_validate`" msgstr "" #: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:331 -#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:78 +#: ../../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 "" @@ -17020,7 +17201,7 @@ msgid "Online signatures for order confirmations" msgstr "" #: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:5 -msgid "The Odoo *Sales* application provides customers with the ability to confirm orders, via an online signature, directly on the sales order. Once the sales order is electronically signed by the customer, the salesperson attached to the sales order is instantly notified that the order is confirmed." +msgid "The Odoo **Sales** application provides customers with the ability to confirm orders, via an online signature, directly on the sales order. Once the sales order is electronically signed by the customer, the salesperson attached to the sales order is instantly notified that the order is confirmed." msgstr "" #: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:11 @@ -17039,11 +17220,11 @@ msgstr "" msgid "The Online Signature feature option in the Settings of the Odoo Sales application." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:24 +#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:23 msgid "Then, click the :guilabel:`Save` button in the top-left corner." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:27 +#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:26 msgid "When making a quotation template, the online signature feature is the :guilabel:`Signature` option, located in the :guilabel:`Online confirmation` field of the quotation template form." msgstr "" @@ -17051,7 +17232,7 @@ msgstr "" msgid "The Online confirmation signature option found on every quotation template in Odoo." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:34 +#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:32 msgid "On standard quotations, the online signature feature is the :guilabel:`Signature` option, located under the :guilabel:`Other Info` tab of the quotation form." msgstr "" @@ -17059,11 +17240,11 @@ msgstr "" msgid "The online signature feature option in the Other Info tab of a quotation form in Odoo." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:42 +#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:39 msgid "Order confirmations with online signatures" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:44 +#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:41 msgid "When clients access quotations online through their customer portal, there's a :guilabel:`Sign \\& Pay` button directly on the quotation." msgstr "" @@ -17071,7 +17252,7 @@ msgstr "" msgid "The Sign and Pay button present on online quotations in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:51 +#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:47 msgid "When clicked, a :guilabel:`Validate Order` pop-up window appears. In this pop-up window, the :guilabel:`Full Name` field is auto-populated, based on the contact information in the database." msgstr "" @@ -17079,24 +17260,184 @@ msgstr "" msgid "The Validate Order pop-up window for online signatures in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:58 +#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:53 msgid "Then, customers have the option to enter an online signature with any of the following options: :guilabel:`Auto`, :guilabel:`Draw`, or :guilabel:`Load`." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:61 +#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:56 msgid ":guilabel:`Auto` lets Odoo automatically generate an online signature based on the information in the :guilabel:`Full Name` field. :guilabel:`Draw` lets the customer use the cursor to create a custom signature directly on the pop-up window. And :guilabel:`Load` lets the customer upload a previously-created signature file from their computer." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:66 +#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:61 msgid "After the customer has chosen any of the three previously mentioned signature options (:guilabel:`Auto`, :guilabel:`Draw`, or :guilabel:`Load`), they will click the :guilabel:`Accept \\& Sign` button." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:70 +#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:65 msgid "When :guilabel:`Accept \\& Sign` is clicked, the various payment method options become available for them to choose from (if the *online payment* option applies to this quotation)." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:73 -msgid "Then, when the quotation is paid and confirmed, a delivery order is automatically created (if the Odoo *Inventory* app is installed)." +#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:68 +msgid "Then, when the quotation is paid and confirmed, a delivery order is automatically created (if the Odoo **Inventory** app is installed)." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:72 +msgid "View online signatures in Developer Mode" +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:74 +msgid "Clients can view the online signature in :ref:`developer mode `." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:76 +msgid "To view a online signature from a paid invoice, go to :menuselection:`Sales app --> Orders --> Orders` and select the desired sales order. A new tab, :guilabel:`Customer Signature`, is available. Click the tab to view the electronic signature as well as the :guilabel:`Signed By` and :guilabel:`Signed On` information." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:-1 +msgid "The Customer Signature tab on a sales order when in Developer Mode." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:3 +msgid "Margins" +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:5 +msgid "The sales margin is the profit gained from the sale of a product or service after all the costs related to it have been accounted for." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:8 +msgid "In the Odoo **Sales** application, it is possible to show sales margins on quotations and sales orders. Salespeople can use the feature for better management and monitoring of profitability." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:14 +msgid "To activate the *Margins* feature, go to the :menuselection:`Sales app --> Configuration --> Settings`. In the :guilabel:`Pricing` section, tick the :guilabel:`Margins` checkbox. Then click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:-1 +msgid "Margins checkbox." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:24 +msgid "Configure price and cost" +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:26 +msgid "To automatically calculate the sales margin for each quotation or sales order line item, go to :menuselection:`Sales app --> Products --> Products`. Fill out the :guilabel:`Sales Price` and :guilabel:`Cost` fields in the :guilabel:`General Information` tab for every product." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:30 +msgid "Odoo calculates the margin by:" +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:32 +msgid "Sales~Margin = Sales~Price - Cost\n" +"\n" +"" +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:35 +msgid "The margin percentage is calculated by:" +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:37 +msgid "\\frac{Sales~Price - Cost~Price}{Sales~Price} \\times 100\n" +"\n" +"" +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:-1 +msgid "Cable Management box product page." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:44 +msgid "Compute margins on sales orders" +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:46 +msgid "Go to :menuselection:`Sales app --> Orders --> Quotations` and click the :guilabel:`New` button to begin a new quotation. Fill out the quotation with the necessary information. While adding products to the quotation, a new field, :guilabel:`Margin`, automatically appears at the bottom of the document. This field displays the order's total margin in the configured currency as well as the percentage." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:-1 +msgid "Sales order with Margin field on the bottom." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:55 +msgid "To display a product's margin and the margin percentage per line item, click the :icon:`oi-settings-adjust` :guilabel:`(settings adjust)` icon in the :guilabel:`Order Lines` tab." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:58 +msgid "Then, tick the checkboxes for :guilabel:`Margin` and :guilabel:`Margin(%)`. The :guilabel:`Margin` column shows the profit to earn from the sale after accounting for all associated costs. It displays in the configured currency value. The :guilabel:`Margin(%)` shows the margin value as a percentage. The margin for one unit is multiplied by the quantity to determine the margin for the entire line." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:63 +msgid "The :guilabel:`Margin` and :guilabel:`Margin(%)` columns are not displayed by default, but once enabled, the columns appear on all new and existing quotations and :abbr:`SOs (sales orders)`." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:-1 +msgid "Sales order with Margin and Margin(%) columns displayed." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:70 +msgid "The :guilabel:`Margin` and :guilabel:`Margin (%)` columns are not editable since they are automatic calculations. To change the calculation, refer to :ref:`Configure price and cost ` section for more information." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:75 +msgid "Margin calculation with a pricelist" +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:77 +msgid "To calculate the margin with an applied pricelist, begin with configuring a pricelist for the product. Follow these steps:" +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:80 +msgid "Go to :menuselection:`Sales app --> Products --> Pricelists` and click the :guilabel:`New` button." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:82 +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 +msgid "Configure the pricelist and click :guilabel:`Save & Close` button." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:85 +msgid "Go to :menuselection:`Sales app --> Orders --> Quotations` and create a quotation." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:86 +msgid "In the :guilabel:`Pricelist` field, select the newly made pricelist." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:87 +msgid "Click on :guilabel:`Update Prices` to refresh the product price and margin." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:90 +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 "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:0 +msgid "Pricelist Rules pop-up window." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:97 +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 "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:0 +msgid "Sales order with a new pricelist selected." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:103 +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 "" + +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:0 +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." msgstr "" #: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:3 @@ -18768,75 +19109,67 @@ msgstr "" 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:211 -msgid "Optionally set up information on the:" -msgstr "" - -#: ../../content/applications/sales/subscriptions.rst:213 -msgid ":guilabel:`Create on Order` field: this enables secondary actions in Odoo such as creating a new :guilabel:`Task` in a chosen :guilabel:`Project` :icon:`fa-building-o`, :guilabel:`Event Registration` or :guilabel:`Course Access`. If none of the selectable actions in this field's drop-down menu are needed, then choose :guilabel:`Nothing` for the field' value." +#: ../../content/applications/sales/subscriptions.rst:212 +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:217 -msgid ":doc:`Attributes & Variants ` tab if the subscription contains multiple choices for customers (i.e. food delivery, tailored fashion boxes, etc.)." +#: ../../content/applications/sales/subscriptions.rst:216 +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:219 -msgid ":guilabel:`Purchase` tab if the product is sourced from a vendor, such as part of reseller (retail) or subcontracting operations." -msgstr "" - -#: ../../content/applications/sales/subscriptions.rst:222 +#: ../../content/applications/sales/subscriptions.rst:220 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:226 +#: ../../content/applications/sales/subscriptions.rst:224 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:230 +#: ../../content/applications/sales/subscriptions.rst:228 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:237 +#: ../../content/applications/sales/subscriptions.rst:235 msgid "Create a subscriptions quotation" msgstr "" -#: ../../content/applications/sales/subscriptions.rst:239 +#: ../../content/applications/sales/subscriptions.rst:237 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:243 +#: ../../content/applications/sales/subscriptions.rst:241 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:248 +#: ../../content/applications/sales/subscriptions.rst:246 msgid "Sales orders with a defined recurring plan automatically become subscriptions." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:250 +#: ../../content/applications/sales/subscriptions.rst:248 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:253 +#: ../../content/applications/sales/subscriptions.rst:251 msgid "Optionally, specify a:" msgstr "" -#: ../../content/applications/sales/subscriptions.rst:255 +#: ../../content/applications/sales/subscriptions.rst:253 msgid ":doc:`Quotation Template `, if one is readily available to help populate the form fields." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:257 +#: ../../content/applications/sales/subscriptions.rst:255 msgid ":guilabel:`Expiration` date, to indicate when the subscription offer is no longer valid." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:260 +#: ../../content/applications/sales/subscriptions.rst:258 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:264 +#: ../../content/applications/sales/subscriptions.rst:262 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:266 +#: ../../content/applications/sales/subscriptions.rst:264 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 "" @@ -18844,34 +19177,162 @@ msgstr "" msgid "A completed example of a new subscription quotation in Odoo." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:275 +#: ../../content/applications/sales/subscriptions.rst:273 msgid "Define different invoice and delivery addresses by enabling the :doc:`Customer Addresses ` feature." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:281 +#: ../../content/applications/sales/subscriptions.rst:279 msgid "Confirmation" msgstr "" -#: ../../content/applications/sales/subscriptions.rst:283 +#: ../../content/applications/sales/subscriptions.rst:281 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:287 +#: ../../content/applications/sales/subscriptions.rst:285 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:290 +#: ../../content/applications/sales/subscriptions.rst:288 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:295 +#: ../../content/applications/sales/subscriptions.rst:293 msgid ":doc:`/applications/finance/accounting/payments/online`" msgstr "" -#: ../../content/applications/sales/subscriptions.rst:296 +#: ../../content/applications/sales/subscriptions.rst:294 msgid ":doc:`Payment providers and payment methods `" msgstr "" +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:3 +msgid "Subscriptions and automatic payments" +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:5 +msgid "By default, the **Subscriptions** app will automatically generate quotations and invoices for customers, but it can also support automatic payments. Setting up automatic payments requires additional configuration, including choosing an automatic payment provider and either setting up a customer portal or an **eCommerce** website. Here's an overview of how to get started." +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:11 +msgid "Setting up a payment processor that supports automatic payments" +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:13 +msgid "Setting up automatic recurring payments requires using a payment provider that supports tokenization. Tokenization lets customers save their payment details, such as credit card or banking account information, for automatic billing. The following payment providers support tokenization:" +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:17 +msgid ":doc:`Adyen <../../finance/payment_providers/adyen>`" +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:18 +msgid ":doc:`Authorize.net <../../finance/payment_providers/authorize>`" +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:19 +msgid ":doc:`Flutterwave <../../finance/payment_providers/flutterwave>`" +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:20 +msgid ":doc:`Razorpay <../../finance/payment_providers/razorpay>`" +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:21 +msgid ":doc:`Stripe <../../finance/payment_providers/stripe>`" +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:22 +msgid ":doc:`Xendit <../../finance/payment_providers/xendit>`" +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:24 +msgid "Here are the steps to setting up automatic payments." +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:26 +msgid "Choose a payment provider that supports tokenization." +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:27 +msgid "Follow the provider's own setup guide to create an account and begin configuring their API credentials in Odoo." +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:29 +msgid ":ref:`Enable ` the payment provider." +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:30 +msgid ":ref:`Configure the payment methods ` for the chosen payment provider." +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:32 +msgid ":ref:`Configure the tokenization ` for the chosen payment provider." +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:36 +msgid "How customers can set up automatic payments" +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:38 +msgid "Once these steps are complete, payment providers will be able to create tokens with customers' saved payment details during the checkout process. Saved payment details can then be used for future online or recurring subscription charges. Customers will also be able to log into their :doc:`customer portal <../../general/users/portal>` and enter their payment information there." +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:43 +msgid "Some payment providers will automatically save customers' payment information as part of the checkout process. Others will give them the option to save their information for future payments. If customers choose not to save their payment information, they will not be able to make automatic payments." +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:49 +msgid "Building an **eCommerce** website requires the :doc:`Website <../../websites/website>` app." +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:52 +msgid "What happens if an automatic payment fails?" +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:54 +msgid "When an automatic payment fails, the sales order is updated with:" +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:56 +msgid "a :guilabel:`Payment Failure` tag" +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:57 +msgid "the :guilabel:`Contract in exception` checkbox ticked (in the :guilabel:`Subscription` section of the :guilabel:`Other Info` tab)." +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:60 +msgid "Being marked :guilabel:`Contract in exception` prevents scheduled actions from running, which keeps the system from accidentally double-charging the customer if the automatic payment actually went through. Because the status of the payment failed to register with the system, users must manually check if the payment has been made before automatic payments and other scheduled actions can resume." +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:65 +msgid "To do this, navigate to :menuselection:`Subscriptions app --> Subscriptions --> Quotations`. Click into the desired subscription, then check the Chatter to see if the payment was made." +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:68 +msgid "If the payment *was not* made, first enter :doc:`developer mode <../../general/developer_mode>`. Then, click the :guilabel:`Other Info` tab, and untick the checkbox next to :guilabel:`Contract in exception`. Reload the sales order and confirm that the :guilabel:`Payment Failure` tag is gone." +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:72 +msgid "If the payment *was* made, a new invoice must be made and posted manually. This automatically updates the next invoice date of the subscription. Once the invoice is created, enter :doc:`developer mode <../../general/developer_mode>` and navigate to the new sales order. Click the :guilabel:`Other Info` tab, and untick the checkbox next to :guilabel:`Contract in exception`. Reload the sales order and confirm that the :guilabel:`Payment Failure` tag is gone." +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:-1 +msgid "The contract in exception option selected with the payment failure tag shown." +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:81 +msgid "The :guilabel:`Contract in exception` option selected with the :guilabel:`Payment Failure` tag shown." +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:84 +msgid "In both cases, once the :guilabel:`Contract in exception` checkbox is no longer ticked, Odoo handles renewals automatically again. If the subscription remains in :guilabel:`Payment Failure`, it is ignored by Odoo until the sales order is closed." +msgstr "" + +#: ../../content/applications/sales/subscriptions/automatic_payments.rst:90 +msgid ":doc:`../../general/users/portal`" +msgstr "" + #: ../../content/applications/sales/subscriptions/closing.rst:3 msgid "Close subscriptions" msgstr "" @@ -18981,7 +19442,7 @@ msgid "In addition, the specified :guilabel:`Close Reason` appears on the subscr msgstr "" #: ../../content/applications/sales/subscriptions/closing.rst:103 -#: ../../content/applications/sales/subscriptions/renewals.rst:93 +#: ../../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/upselling.rst:107 @@ -19080,43 +19541,11 @@ msgstr "" msgid "Renewal quotation in the Odoo Subscriptions application." msgstr "" -#: ../../content/applications/sales/subscriptions/renewals.rst:56 -msgid "On rare occasions, automatic payments can fail to register properly, which results in a :guilabel:`Payment Failure` tag on the sales order and the :guilabel:`Contract in exception` checkbox being automatically ticked in the :guilabel:`Subscription` section of the sales order's :guilabel:`Other Info` tab." -msgstr "" - -#: ../../content/applications/sales/subscriptions/renewals.rst:61 -msgid "Being marked :guilabel:`Contract in exception` prevents scheduled actions from running, which keeps the system from accidentally double-charging the customer if the automatic payment actually went through. Because the status of the payment failed to register with the system, users must manually check if the payment has been made before automatic payments and other scheduled actions can resume." -msgstr "" - -#: ../../content/applications/sales/subscriptions/renewals.rst:67 -msgid "To do this, navigate to :menuselection:`Subscriptions app --> Subscriptions --> Quotations`. Click into the desired subscription, then check the Chatter to see if the payment was made." -msgstr "" - -#: ../../content/applications/sales/subscriptions/renewals.rst:70 -msgid "If the payment *was not* made, first enter :doc:`developer mode <../../general/developer_mode>`. Then, click the :guilabel:`Other Info` tab, and untick the checkbox next to :guilabel:`Contract in exception`. Reload the sales order and confirm that the :guilabel:`Payment Failure` tag is gone." -msgstr "" - -#: ../../content/applications/sales/subscriptions/renewals.rst:75 -msgid "If the payment *was* made, a new invoice must be made and posted manually. This automatically updates the next invoice date of the subscription. Once the invoice is created, enter :doc:`developer mode <../../general/developer_mode>` and navigate to the new sales order. Click the :guilabel:`Other Info` tab, and untick the checkbox next to :guilabel:`Contract in exception`. Reload the sales order and confirm that the :guilabel:`Payment Failure` tag is gone." -msgstr "" - -#: ../../content/applications/sales/subscriptions/renewals.rst:0 -msgid "The contract in exception option selected with the payment failure tag shown." -msgstr "" - -#: ../../content/applications/sales/subscriptions/renewals.rst:85 -msgid "The :guilabel:`Contract in exception` option selected with the :guilabel:`Payment Failure` tag shown." -msgstr "" - -#: ../../content/applications/sales/subscriptions/renewals.rst:88 -msgid "In both cases, once the :guilabel:`Contract in exception` checkbox is no longer ticked, Odoo handles renewals automatically again. If the subscription remains in :guilabel:`Payment Failure`, it is ignored by Odoo until the sales order is closed." -msgstr "" - -#: ../../content/applications/sales/subscriptions/renewals.rst:94 +#: ../../content/applications/sales/subscriptions/renewals.rst:57 msgid ":doc:`../sales/sales_quotations/create_quotations`" msgstr "" -#: ../../content/applications/sales/subscriptions/renewals.rst:95 +#: ../../content/applications/sales/subscriptions/renewals.rst:58 msgid ":doc:`../sales/sales_quotations/get_paid_to_validate`" msgstr "" diff --git a/locale/sources/services.pot b/locale/sources/services.pot index c3fc585cb7..b25e5fe118 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-10-20 14:56+0200\n" +"POT-Creation-Date: 2025-11-19 09:34+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -2758,147 +2758,6 @@ msgstr "" msgid ":doc:`Allow customers to close their tickets `" msgstr "" -#: ../../content/applications/services/helpdesk/overview/stages.rst:3 -msgid "Stages" -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:5 -msgid "*Stages* are used to organize the **Helpdesk** pipeline and track the progress of tickets. Stages are customizable, and can be renamed to fit the needs of each team." -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:9 -msgid "Create or modify stages" -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:12 -msgid ":ref:`Developer mode ` **must** be activated to access the stages menu. To activate developer mode, go to :menuselection:`Settings app --> General Settings --> Developer Tools`, and click :guilabel:`Activate the developer mode`." -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:16 -msgid "To view or modify **Helpdesk** stages, go to :menuselection:`Helpdesk app --> Configuration --> Stages`." -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:19 -msgid "The default list view on the :guilabel:`Stages` page displays the stages currently available in the **Helpdesk** app. They are listed in the order they appear in the pipeline." -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:22 -msgid "To change the order of the stages, click the :icon:`oi-draggable` :guilabel:`(draggable)` icon, to the left of the stage name, and drag it to the desired place on the list." -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:-1 -msgid "View of the stage list page emphasizing the buttons used to change the order the stages\n" -"appear in the list." -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:30 -msgid "Change the stage order on the Kanban view of a **Helpdesk** team's pipeline by dragging and dropping individual columns." -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:33 -msgid "To create a new stage, click the :guilabel:`New` button at the top-left of the stage list. Doing so reveals a blank stage form." -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:36 -msgid "Choose a :guilabel:`Name` for the new stage." -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:-1 -msgid "View of a stage's settings page in Odoo Helpdesk." -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:42 -msgid "Add email and SMS templates to stages" -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:44 -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/services/helpdesk/overview/stages.rst:49 -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/services/helpdesk/overview/stages.rst:53 -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/services/helpdesk/overview/stages.rst:57 -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/services/helpdesk/overview/stages.rst:61 -msgid "Follow the same steps to select, edit, or create an :guilabel:`SMS Template`." -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:-1 -msgid "View of an SMS template setup page in Odoo Helpdesk." -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:67 -msgid ":doc:`/applications/general/companies/email_template`" -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:70 -msgid "Fold a stage" -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:72 -msgid "By default, stages are unfolded in the Kanban view of either tickets dashboard: :guilabel:`My Tickets` (:menuselection:`Helpdesk app --> Tickets --> My Tickets`) or :guilabel:`All Tickets` (:menuselection:`Helpdesk app --> Tickets --> All Tickets`)." -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:76 -msgid "Tickets in an unfolded stage are visible in the pipeline under the stage name, and are considered *open*." -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:79 -msgid "Stages can be configured to be folded in the Kanban view of a tickets page." -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:81 -msgid "The name of the folded stages are still visible, but the tickets in the stage are hidden from view." -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:83 -msgid "To fold a stage, tick the :guilabel:`Folded in Kanban` checkbox on the :guilabel:`Stages` form." -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:86 -msgid "Tickets that reach a *folded* stage are considered *closed*. Closing a ticket 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/services/helpdesk/overview/stages.rst:91 -msgid "Temporarily fold a stage" -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:93 -msgid "Stages can be temporarily folded in the Kanban view of the tickets pipeline, as well." -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:95 -msgid "View a specific team's pipeline by navigating to :menuselection:`Helpdesk app`, and clicking the team's Kanban card." -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:98 -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 "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:-1 -msgid "Kanban view of a Helpdesk stage, with the temporary fold option emphasized." -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:105 -msgid "Manually folding a stage from the Kanban view is temporary and does **not** close the tickets in the stage." -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:109 -msgid "Assign stages to a team" -msgstr "" - -#: ../../content/applications/services/helpdesk/overview/stages.rst:111 -msgid "Make a selection in the :guilabel:`Helpdesk 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 "" - #: ../../content/applications/services/planning.rst:5 msgid "Planning" msgstr "" @@ -3020,7 +2879,7 @@ msgid "The :guilabel:`Working Hours` and the :guilabel:`Allocated Time` in Plann msgstr "" #: ../../content/applications/services/planning.rst:110 -msgid ":ref:`Payroll documentation on working schedules `" +msgid ":doc:`../hr/payroll/working_schedules`" msgstr "" #: ../../content/applications/services/planning.rst:113 @@ -3076,15 +2935,15 @@ msgid "Shift templates" msgstr "" #: ../../content/applications/services/planning.rst:151 -msgid "To create a shift template, click :guilabel:`New` on any schedule, then fill in the :ref:`details of the shift `. In order for the shift to be saved as a template, tick :guilabel:`Save as Template`." +msgid "To create a shift template, click :guilabel:`New` on any schedule, then fill in the :ref:`details of the shift `. In order for the shift to be saved as a template, click :guilabel:`Save Template`." msgstr "" #: ../../content/applications/services/planning.rst:-1 -msgid "Shift form with the option `save template` ticked." +msgid "Shift form." msgstr "" #: ../../content/applications/services/planning.rst:158 -msgid "Alternatively, you can go to :menuselection:`Planning --> Configuration --> Shift Templates`, then click :guilabel:`New`. Fill in the :guilabel:`Start Hour` and :guilabel:`Shift Duration`. The shift’s :guilabel:`End Time` is then calculated based on the :guilabel:`Working Hours`, taking into account working time as well as breaks." +msgid "Alternatively, you can go to :menuselection:`Planning --> Configuration --> Shift Templates`, then click :guilabel:`New`. Fill in the :guilabel:`Start Hour` and :guilabel:`Span`. The shift’s :guilabel:`End Time` is then calculated based on the :guilabel:`Working Hours`, taking into account working time as well as breaks." msgstr "" #: ../../content/applications/services/planning.rst:164 @@ -3180,58 +3039,54 @@ msgid ":guilabel:`Sales Order Item`: If the Sales app is installed in your datab msgstr "" #: ../../content/applications/services/planning.rst:225 -msgid ":guilabel:`Repeat`: Tick the checkbox and configure the :guilabel:`Repeat Every` field according to your needs. The following rules apply to recurring shifts:" +msgid ":guilabel:`Repeat`: Click the :icon:`fa-repeat` :guilabel:`(repeat)` button and configure the :guilabel:`Repeat every` fields according to your needs. The following rules apply to recurring shifts:" msgstr "" -#: ../../content/applications/services/planning.rst:228 +#: ../../content/applications/services/planning.rst:229 msgid "All fields (e.g., :guilabel:`Resource`, :guilabel:`Role`, :guilabel:`Project`) are copied from the original shift except for the date, which is adjusted according to the :guilabel:`Repeat Every` field." msgstr "" -#: ../../content/applications/services/planning.rst:231 +#: ../../content/applications/services/planning.rst:232 msgid "Recurrences are planned but not published." msgstr "" -#: ../../content/applications/services/planning.rst:232 +#: ../../content/applications/services/planning.rst:233 msgid "By default, planned shifts are created six months in advance, after which they are created gradually. To change the time frame, :ref:`activate the Developer mode `, then go to :menuselection:`Planning --> Configuration --> Settings` and edit the :guilabel:`Recurring Shifts`." msgstr "" -#: ../../content/applications/services/planning.rst:237 -msgid ":guilabel:`Save as Template`: When this option is ticked, a shift template is created with the same :guilabel:`Start and End hours`, :guilabel:`Allocated time`, :guilabel:`Role`, and :guilabel:`Project`." -msgstr "" - -#: ../../content/applications/services/planning.rst:240 +#: ../../content/applications/services/planning.rst:238 msgid ":guilabel:`Additional note sent to the employee`: Click on the field to add a note." msgstr "" -#: ../../content/applications/services/planning.rst:241 +#: ../../content/applications/services/planning.rst:239 msgid ":guilabel:`Date`: Choose the date and time of your shift. This is the only mandatory field when creating a shift." msgstr "" -#: ../../content/applications/services/planning.rst:243 +#: ../../content/applications/services/planning.rst:241 msgid ":guilabel:`Allocated time`: Is calculated based on the date and the employee’s :guilabel:`Working Schedule`. See more in :ref:`Shift Templates `." msgstr "" -#: ../../content/applications/services/planning.rst:246 +#: ../../content/applications/services/planning.rst:244 msgid "Click :guilabel:`Publish & Save` to confirm the shift and send the assigned employee their schedule by email." msgstr "" -#: ../../content/applications/services/planning.rst:250 +#: ../../content/applications/services/planning.rst:248 msgid "The draft is visible on the admin planning view and can be identified by diagonal lines. The employee is only notified of the shift once it's published." msgstr "" -#: ../../content/applications/services/planning.rst:253 +#: ../../content/applications/services/planning.rst:251 msgid "Two kinds of notifications are sent to the employees depending on their account configuration:" msgstr "" -#: ../../content/applications/services/planning.rst:255 +#: ../../content/applications/services/planning.rst:253 msgid "Employees without user accounts are redirected to a dedicated **Planning portal**." msgstr "" -#: ../../content/applications/services/planning.rst:256 +#: ../../content/applications/services/planning.rst:254 msgid "Employees with a user account are redirected to the :guilabel:`My Planning` view in the backend view of Odoo." msgstr "" -#: ../../content/applications/services/planning.rst:260 +#: ../../content/applications/services/planning.rst:258 msgid "The **split shifts** tool allows to easily split a long shift into segments. To do so, hover the mouse over the desired shift and click the :icon:`fa-scissors` (:guilabel:`scissors`) icon." msgstr "" @@ -3239,104 +3094,104 @@ msgstr "" msgid "Split shifts tool." msgstr "" -#: ../../content/applications/services/planning.rst:269 +#: ../../content/applications/services/planning.rst:267 msgid "Open shifts and auto planning" msgstr "" -#: ../../content/applications/services/planning.rst:271 +#: ../../content/applications/services/planning.rst:269 msgid "The :guilabel:`Auto Plan` button allows you to assign **Open shifts** (shifts with no resource assigned) and create and assign shifts linked to sales orders or project." msgstr "" -#: ../../content/applications/services/planning.rst:274 +#: ../../content/applications/services/planning.rst:272 msgid "The following features have an impact on auto planning:" msgstr "" -#: ../../content/applications/services/planning.rst:276 +#: ../../content/applications/services/planning.rst:274 msgid "**Roles**: Open shifts are only assigned to resources (employees or materials) that have the corresponding role assigned. It is not possible to use the :guilabel:`Auto Plan` feature for employee with no roles." msgstr "" -#: ../../content/applications/services/planning.rst:279 +#: ../../content/applications/services/planning.rst:277 msgid "**Default roles**: The default role assigned to a resource is given priority over the other roles they have assigned to them." msgstr "" -#: ../../content/applications/services/planning.rst:281 +#: ../../content/applications/services/planning.rst:279 msgid "**Conflicts**: Employees or materials cannot be assigned multiple shifts at the same time." msgstr "" -#: ../../content/applications/services/planning.rst:282 +#: ../../content/applications/services/planning.rst:280 msgid "**Time off**: The employees’ time off is taken into account, as well as public holidays." msgstr "" -#: ../../content/applications/services/planning.rst:283 +#: ../../content/applications/services/planning.rst:281 msgid "**Working hours**: Are taken into account when assigning shifts to employees or materials. It is not possible to use the :guilabel:`Auto Plan` feature for an employee who is working :ref:`flexible hours `." msgstr "" -#: ../../content/applications/services/planning.rst:286 +#: ../../content/applications/services/planning.rst:284 msgid "**Contracts**: If the employee has an active contract, they won't be assigned shifts that fall outside of their contract period." msgstr "" -#: ../../content/applications/services/planning.rst:289 +#: ../../content/applications/services/planning.rst:287 msgid "Click :guilabel:`Publish` to confirm the schedule and notify the employees of their planning." msgstr "" -#: ../../content/applications/services/planning.rst:294 +#: ../../content/applications/services/planning.rst:292 msgid "Switching shifts and unassignment" msgstr "" -#: ../../content/applications/services/planning.rst:296 +#: ../../content/applications/services/planning.rst:294 msgid "Two features are available to allow employees to make changes to their schedule: **switching shifts** and **unassignment**." msgstr "" -#: ../../content/applications/services/planning.rst:300 +#: ../../content/applications/services/planning.rst:298 msgid "These features are mutually exclusive. Switching shifts is possible by default and cannot be disabled. However, once the **Allow unassignment** feature is enabled, it replaces the option to switch shifts." msgstr "" -#: ../../content/applications/services/planning.rst:305 +#: ../../content/applications/services/planning.rst:303 msgid "Switching shifts" msgstr "" -#: ../../content/applications/services/planning.rst:307 +#: ../../content/applications/services/planning.rst:305 msgid "Once shifts are planned and published, employees receive an email notification. If an employee wishes to switch a shift, they can click the unwanted shift and click :guilabel:`Ask to switch`." msgstr "" -#: ../../content/applications/services/planning.rst:310 +#: ../../content/applications/services/planning.rst:308 msgid "The shift remains assigned to the original employee, but in the schedule, a notification informing that the assigned employee would like to switch shifts is visible on the shift." msgstr "" -#: ../../content/applications/services/planning.rst:313 +#: ../../content/applications/services/planning.rst:311 msgid "The shift is then displayed to other employees who share the same role, and if they wish to assign it to themselves, they can click the :guilabel:`I take it` button." msgstr "" -#: ../../content/applications/services/planning.rst:317 -#: ../../content/applications/services/planning.rst:335 +#: ../../content/applications/services/planning.rst:315 +#: ../../content/applications/services/planning.rst:333 msgid "The following rules apply:" msgstr "" -#: ../../content/applications/services/planning.rst:319 +#: ../../content/applications/services/planning.rst:317 msgid "Only the shifts matching the employee's roles are displayed as available to them." msgstr "" -#: ../../content/applications/services/planning.rst:320 +#: ../../content/applications/services/planning.rst:318 msgid "Switching shifts is not available for shifts in the past." msgstr "" -#: ../../content/applications/services/planning.rst:323 +#: ../../content/applications/services/planning.rst:321 msgid "Unassignment" msgstr "" -#: ../../content/applications/services/planning.rst:325 +#: ../../content/applications/services/planning.rst:323 msgid "To allow employees to unassign themselves from shifts, go to :menuselection:`Planning --> Configuration --> Settings`, then tick the checkbox :guilabel:`Allow Unassignment`. Then, specify the maximum number of days that the employees can unassign themselves before the shift." msgstr "" -#: ../../content/applications/services/planning.rst:330 +#: ../../content/applications/services/planning.rst:328 msgid "Once shifts are planned and published, employees receive an email notification. If shift unassignment is allowed, the employees can click the :guilabel:`I am unavailable` button, and the shift reverts to an open shift." msgstr "" -#: ../../content/applications/services/planning.rst:337 +#: ../../content/applications/services/planning.rst:335 msgid "Only the shifts matching the employee's roles are displayed in their schedule." msgstr "" -#: ../../content/applications/services/planning.rst:338 +#: ../../content/applications/services/planning.rst:336 msgid "Unassigning shifts is not available for shifts in the past." msgstr "" diff --git a/locale/sources/studio.pot b/locale/sources/studio.pot index f43a9f5bc5..119ba66904 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-10-20 14:56+0200\n" +"POT-Creation-Date: 2025-11-19 09:34+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -558,9 +558,9 @@ msgid ":guilabel:`Compute`: updates the selected field dynamically using Python msgstr "" #: ../../content/applications/studio/automated_actions.rst:275 -#: ../../content/applications/studio/automated_actions.rst:367 -#: ../../content/applications/studio/automated_actions.rst:407 -#: ../../content/applications/studio/automated_actions.rst:446 +#: ../../content/applications/studio/automated_actions.rst:381 +#: ../../content/applications/studio/automated_actions.rst:421 +#: ../../content/applications/studio/automated_actions.rst:460 msgid "To define the action:" msgstr "" @@ -625,38 +625,62 @@ msgid "In the window that opens, enter the :guilabel:`Name` of the sequence." msgstr "" #: ../../content/applications/studio/automated_actions.rst:325 -msgid "Configure the sequence, adding a :guilabel:`Prefix` and/or :guilabel:`Suffix` as desired." +msgid "In the :guilabel:`Sequence` tab, configure the sequence:" +msgstr "" + +#: ../../content/applications/studio/automated_actions.rst:327 +msgid ":guilabel:`Prefix`: characters added *before* the next number in the sequence." msgstr "" #: ../../content/applications/studio/automated_actions.rst:328 -msgid "Use dynamic placeholders like :guilabel:`Current Year with Century: %(year)s` in the :guilabel:`Prefix` and/or :guilabel:`Suffix` to create sequences with elements like current year, month, etc. Possible placeholders are shows at the bottom of the window." +msgid ":guilabel:`Suffix`: characters added *after* the next number in the sequence." +msgstr "" + +#: ../../content/applications/studio/automated_actions.rst:329 +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 +msgid ":guilabel:`Step`: determines the increments between the numbers in the sequence." +msgstr "" + +#: ../../content/applications/studio/automated_actions.rst:333 +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 +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 +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 msgid "Click :guilabel:`Save`." msgstr "" -#: ../../content/applications/studio/automated_actions.rst:335 +#: ../../content/applications/studio/automated_actions.rst:347 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:339 -msgid "In the example, each new customer receives a sequential reference with the prefix `" +#: ../../content/applications/studio/automated_actions.rst:351 +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 "" #: ../../content/applications/studio/automated_actions.rst:0 msgid "Example of an Update Record action using a sequence" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:346 +#: ../../content/applications/studio/automated_actions.rst:360 msgid "Compute" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:348 +#: ../../content/applications/studio/automated_actions.rst:362 msgid "Enter the code to be used for computing the field's value." msgstr "" -#: ../../content/applications/studio/automated_actions.rst:351 +#: ../../content/applications/studio/automated_actions.rst:365 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 "" @@ -664,31 +688,31 @@ msgstr "" msgid "Compute a custom datetime field using a Python expression" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:363 +#: ../../content/applications/studio/automated_actions.rst:377 msgid "Create Record and Duplicate Record" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:365 +#: ../../content/applications/studio/automated_actions.rst:379 msgid "These actions are used to create a new or duplicated record on any model." msgstr "" -#: ../../content/applications/studio/automated_actions.rst:369 +#: ../../content/applications/studio/automated_actions.rst:383 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:372 +#: ../../content/applications/studio/automated_actions.rst:386 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:374 +#: ../../content/applications/studio/automated_actions.rst:388 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:379 +#: ../../content/applications/studio/automated_actions.rst:393 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:384 +#: ../../content/applications/studio/automated_actions.rst:398 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 "" @@ -696,51 +720,51 @@ msgstr "" msgid "Duplicate a record in a different model" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:395 +#: ../../content/applications/studio/automated_actions.rst:409 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:403 +#: ../../content/applications/studio/automated_actions.rst:417 msgid "Create Activity" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:405 +#: ../../content/applications/studio/automated_actions.rst:419 msgid "This action is used to schedule a new activity linked to the record." msgstr "" -#: ../../content/applications/studio/automated_actions.rst:409 +#: ../../content/applications/studio/automated_actions.rst:423 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:411 +#: ../../content/applications/studio/automated_actions.rst:425 msgid "Enter a :guilabel:`Title`." msgstr "" -#: ../../content/applications/studio/automated_actions.rst:412 +#: ../../content/applications/studio/automated_actions.rst:426 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:414 +#: ../../content/applications/studio/automated_actions.rst:428 msgid "Select a :guilabel:`User type`:" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:416 +#: ../../content/applications/studio/automated_actions.rst:430 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:418 +#: ../../content/applications/studio/automated_actions.rst:432 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:423 +#: ../../content/applications/studio/automated_actions.rst:437 msgid "Optionally, add a :guilabel:`Note` to provide more information about the activity." msgstr "" -#: ../../content/applications/studio/automated_actions.rst:426 +#: ../../content/applications/studio/automated_actions.rst:440 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:430 +#: ../../content/applications/studio/automated_actions.rst:444 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 "" @@ -748,91 +772,91 @@ msgstr "" msgid "Example of a Create Activity action" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:442 +#: ../../content/applications/studio/automated_actions.rst:456 msgid "Send Email and Send SMS" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:444 +#: ../../content/applications/studio/automated_actions.rst:458 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:448 +#: ../../content/applications/studio/automated_actions.rst:462 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:450 +#: ../../content/applications/studio/automated_actions.rst:464 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:453 +#: ../../content/applications/studio/automated_actions.rst:467 msgid "For an email, select:" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:455 +#: ../../content/applications/studio/automated_actions.rst:469 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:457 +#: ../../content/applications/studio/automated_actions.rst:471 msgid ":guilabel:`Message`: to post the message on the record and notify the record's followers." msgstr "" -#: ../../content/applications/studio/automated_actions.rst:458 +#: ../../content/applications/studio/automated_actions.rst:472 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:461 +#: ../../content/applications/studio/automated_actions.rst:475 msgid "For a text message, select:" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:463 +#: ../../content/applications/studio/automated_actions.rst:477 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:465 +#: ../../content/applications/studio/automated_actions.rst:479 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:467 +#: ../../content/applications/studio/automated_actions.rst:481 msgid ":guilabel:`Note only`: to only post the message as an internal note in the chatter." msgstr "" -#: ../../content/applications/studio/automated_actions.rst:472 +#: ../../content/applications/studio/automated_actions.rst:486 msgid "Send WhatsApp" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:475 +#: ../../content/applications/studio/automated_actions.rst:489 msgid "To automate the sending of WhatsApp messages, one or more :ref:`WhatsApp templates ` must be created." msgstr "" -#: ../../content/applications/studio/automated_actions.rst:478 +#: ../../content/applications/studio/automated_actions.rst:492 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:480 +#: ../../content/applications/studio/automated_actions.rst:494 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:486 +#: ../../content/applications/studio/automated_actions.rst:500 msgid "Add Followers and Remove Followers" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:488 +#: ../../content/applications/studio/automated_actions.rst:502 msgid "This action is used to subscribe/unsubscribe existing contacts as followers of the record." msgstr "" -#: ../../content/applications/studio/automated_actions.rst:490 +#: ../../content/applications/studio/automated_actions.rst:504 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:493 +#: ../../content/applications/studio/automated_actions.rst:507 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:496 +#: ../../content/applications/studio/automated_actions.rst:510 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:503 +#: ../../content/applications/studio/automated_actions.rst:517 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 "" @@ -840,115 +864,115 @@ msgstr "" msgid "Adding the customer as a follower when project task set to in progress" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:513 +#: ../../content/applications/studio/automated_actions.rst:527 msgid "Execute Code" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:516 +#: ../../content/applications/studio/automated_actions.rst:530 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:521 +#: ../../content/applications/studio/automated_actions.rst:535 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:524 +#: ../../content/applications/studio/automated_actions.rst:538 msgid "`env`: environment on which the action is triggered" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:525 +#: ../../content/applications/studio/automated_actions.rst:539 msgid "`model`: model of the record on which the action is triggered; is a void recordset" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:526 +#: ../../content/applications/studio/automated_actions.rst:540 msgid "`record`: record on which the action is triggered; may be void" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:527 +#: ../../content/applications/studio/automated_actions.rst:541 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:529 +#: ../../content/applications/studio/automated_actions.rst:543 msgid "`time`, `datetime`, `dateutil`, `timezone`: useful Python libraries" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:530 +#: ../../content/applications/studio/automated_actions.rst:544 msgid "`float_compare`: utility function to compare floats based on specific precision" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:531 +#: ../../content/applications/studio/automated_actions.rst:545 msgid "`log(message, level='info')`: logging function to record debug information in ir.logging table" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:533 +#: ../../content/applications/studio/automated_actions.rst:547 msgid "`_logger.info(message)`: logger to emit messages in server logs" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:534 +#: ../../content/applications/studio/automated_actions.rst:548 msgid "`UserError`: exception class for raising user-facing warning messages" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:535 +#: ../../content/applications/studio/automated_actions.rst:549 msgid "`Command`: x2many commands namespace" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:536 +#: ../../content/applications/studio/automated_actions.rst:550 msgid "`action = {...}`: to return an action" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:539 +#: ../../content/applications/studio/automated_actions.rst:553 msgid "The available variables are described both in the :guilabel:`Code` and :guilabel:`Help` tabs." msgstr "" -#: ../../content/applications/studio/automated_actions.rst:542 +#: ../../content/applications/studio/automated_actions.rst:556 msgid ":doc:`Odoo's ORM capabilities <../../developer/reference/backend/orm>`" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:547 +#: ../../content/applications/studio/automated_actions.rst:561 msgid "Send Webhook Notification" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:549 +#: ../../content/applications/studio/automated_actions.rst:563 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:552 +#: ../../content/applications/studio/automated_actions.rst:566 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:556 +#: ../../content/applications/studio/automated_actions.rst:570 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:562 +#: ../../content/applications/studio/automated_actions.rst:576 msgid "Multi Actions" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:564 +#: ../../content/applications/studio/automated_actions.rst:578 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:566 +#: ../../content/applications/studio/automated_actions.rst:580 msgid "To define the actions:" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:568 +#: ../../content/applications/studio/automated_actions.rst:582 msgid "With :guilabel:`Multi Actions` selected as the :guilabel:`Type` of action, click :guilabel:`Add an action`." msgstr "" -#: ../../content/applications/studio/automated_actions.rst:570 +#: ../../content/applications/studio/automated_actions.rst:584 msgid "In the :guilabel:`Add: Child Actions` pop-up:" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:572 +#: ../../content/applications/studio/automated_actions.rst:586 msgid "select one or more existing actions and click :guilabel:`Select`; or" msgstr "" -#: ../../content/applications/studio/automated_actions.rst:573 +#: ../../content/applications/studio/automated_actions.rst:587 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:575 +#: ../../content/applications/studio/automated_actions.rst:589 msgid "Repeat as many times as needed." msgstr "" @@ -1558,7 +1582,7 @@ msgid ":guilabel:`Priority`: displays star symbols instead of values, which can msgstr "" #: ../../content/applications/studio/fields.rst:266 -#: ../../content/applications/studio/fields.rst:392 +#: ../../content/applications/studio/fields.rst:395 msgid ":guilabel:`Radio`: displays all selectable values at the same time as radio buttons." msgstr "" @@ -1682,19 +1706,23 @@ msgstr "" msgid "To help users only select the right record, click on :guilabel:`Domain` to create a filter." msgstr "" -#: ../../content/applications/studio/fields.rst:390 +#: ../../content/applications/studio/fields.rst:389 +msgid "To only trigger the search for a linked record after a minimum number of characters has been entered, enter the desired number in the :guilabel:`Typeahead search` field. In situations where the data set is large, this can enhance both search relevancy and performance." +msgstr "" + +#: ../../content/applications/studio/fields.rst:393 msgid ":guilabel:`Badge`: displays the value inside a rounded shape, similar to a tag. The value cannot be edited on the UI." msgstr "" -#: ../../content/applications/studio/fields.rst:397 +#: ../../content/applications/studio/fields.rst:400 msgid "One2Many (`one2many`)" msgstr "" -#: ../../content/applications/studio/fields.rst:399 +#: ../../content/applications/studio/fields.rst:402 msgid "The :guilabel:`One2Many` field is used to display the existing relations between a record on the current model and multiple records from another model." msgstr "" -#: ../../content/applications/studio/fields.rst:403 +#: ../../content/applications/studio/fields.rst:406 msgid "You could add a :guilabel:`One2Many` field on the *Contact* model to look at **one** customer's **many** sales orders." msgstr "" @@ -1702,19 +1730,19 @@ msgstr "" msgid "Diagram showing a one2many relationship" msgstr "" -#: ../../content/applications/studio/fields.rst:410 +#: ../../content/applications/studio/fields.rst:413 msgid "To use a :guilabel:`One2Many` field, the two models must have been linked already using a :ref:`Many2One field `. One2Many relations do not exist independently: a reverse-search of existing Many2One relations is performed." msgstr "" -#: ../../content/applications/studio/fields.rst:417 +#: ../../content/applications/studio/fields.rst:420 msgid "Lines (`one2many`)" msgstr "" -#: ../../content/applications/studio/fields.rst:419 +#: ../../content/applications/studio/fields.rst:422 msgid "The :guilabel:`Lines` field is used to create a table with rows and columns (e.g., the lines of products on a sales order)." msgstr "" -#: ../../content/applications/studio/fields.rst:423 +#: ../../content/applications/studio/fields.rst:426 msgid "To modify the columns, click on the :guilabel:`Lines` field and then :guilabel:`Edit List View`. To edit the form that pops up when a user clicks on :guilabel:`Add a line`, click on :guilabel:`Edit Form View` instead." msgstr "" @@ -1722,15 +1750,15 @@ msgstr "" msgid "Example of a Lines field" msgstr "" -#: ../../content/applications/studio/fields.rst:435 +#: ../../content/applications/studio/fields.rst:438 msgid "Many2Many (`many2many`)" msgstr "" -#: ../../content/applications/studio/fields.rst:437 +#: ../../content/applications/studio/fields.rst:440 msgid "The :guilabel:`Many2Many` field is used to link multiple records from another model to multiple records on the current model. Many2Many fields can use :guilabel:`Disable creation`, :guilabel:`Disable opening`, :guilabel:`Domain`, just like :ref:`Many2One fields `." msgstr "" -#: ../../content/applications/studio/fields.rst:443 +#: ../../content/applications/studio/fields.rst:446 msgid "On the *Task* model, the :guilabel:`Assignees` field is a :guilabel:`Many2Many` field pointing at the *Contact* model. This allows a single user to be assigned to **many** tasks and **many** users to be assigned to a single task." msgstr "" @@ -1738,23 +1766,27 @@ msgstr "" msgid "Diagram showing many2many relationships" msgstr "" -#: ../../content/applications/studio/fields.rst:450 +#: ../../content/applications/studio/fields.rst:454 +msgid "To only trigger the search for the linked record after a minimum number of characters has been entered, enter the desired number in the :guilabel:`Typeahead search` field. In situations where the data set is large, this can enhance both search relevancy and performance." +msgstr "" + +#: ../../content/applications/studio/fields.rst:458 msgid ":guilabel:`Checkboxes`: users can select several values using checkboxes." msgstr "" -#: ../../content/applications/studio/fields.rst:451 +#: ../../content/applications/studio/fields.rst:459 msgid ":guilabel:`Tags`: users can select several values appearing in rounded shapes, also known as *tags*. This has the same effect as selecting the :ref:`Tags field `." msgstr "" -#: ../../content/applications/studio/fields.rst:458 +#: ../../content/applications/studio/fields.rst:466 msgid "Tags (`many2many`)" msgstr "" -#: ../../content/applications/studio/fields.rst:460 +#: ../../content/applications/studio/fields.rst:468 msgid "The :guilabel:`Tags` field is used to display several values from another model appearing in rounded shapes, also known as *tags*. This field type is a :ref:`Many2Many field ` with the :guilabel:`Tags` widget selected by default. Consequently, the :guilabel:`Checkboxes` and :guilabel:`Many2Many` widgets have the same effects as described under :ref:`Many2Many `." msgstr "" -#: ../../content/applications/studio/fields.rst:467 +#: ../../content/applications/studio/fields.rst:475 msgid "To display tags with different background colors, tick :guilabel:`Use colors`." msgstr "" @@ -1762,123 +1794,123 @@ msgstr "" msgid "Example of a Tags field" msgstr "" -#: ../../content/applications/studio/fields.rst:477 +#: ../../content/applications/studio/fields.rst:485 msgid "Related Field (`related`)" msgstr "" -#: ../../content/applications/studio/fields.rst:479 +#: ../../content/applications/studio/fields.rst:487 msgid "A :guilabel:`Related Field` is not a relational field per se; no relationship is created between models. It uses an existing relationship to fetch and display information from another record." msgstr "" -#: ../../content/applications/studio/fields.rst:483 +#: ../../content/applications/studio/fields.rst:491 msgid "To display the email address of a customer on the *Sales Order* model, use the :guilabel:`Related Field` `partner_id.email` by selecting :guilabel:`Customer` and then :guilabel:`Email`." msgstr "" -#: ../../content/applications/studio/fields.rst:489 +#: ../../content/applications/studio/fields.rst:497 msgid "Properties" msgstr "" -#: ../../content/applications/studio/fields.rst:492 +#: ../../content/applications/studio/fields.rst:500 msgid "General properties" msgstr "" -#: ../../content/applications/studio/fields.rst:494 +#: ../../content/applications/studio/fields.rst:502 msgid ":guilabel:`Invisible`: Enable this property when it is not necessary for users to view a field on the UI. This helps declutter the UI by only showing the essential fields depending on a specific situation." msgstr "" -#: ../../content/applications/studio/fields.rst:498 +#: ../../content/applications/studio/fields.rst:506 msgid "The :guilabel:`Invisible` attribute also applies inside Studio. To view hidden fields in Studio, click on a view's :guilabel:`View` tab and enable :guilabel:`Show Invisible Elements`." msgstr "" -#: ../../content/applications/studio/fields.rst:501 +#: ../../content/applications/studio/fields.rst:509 msgid ":guilabel:`Required`: Enable this property if a field should always be completed by the user before being able to proceed." msgstr "" -#: ../../content/applications/studio/fields.rst:504 +#: ../../content/applications/studio/fields.rst:512 msgid ":guilabel:`Readonly`: Enable this property if users should not be able to modify a field." msgstr "" -#: ../../content/applications/studio/fields.rst:507 +#: ../../content/applications/studio/fields.rst:515 msgid "You can choose to enable :guilabel:`Invisible`, :guilabel:`Required` and :guilabel:`Readonly` for specific records only by clicking on :guilabel:`Conditional` and creating a filter." msgstr "" -#: ../../content/applications/studio/fields.rst:511 +#: ../../content/applications/studio/fields.rst:519 msgid "On the *Form* view of the *Contact* model, the :guilabel:`Title` field only appears when :guilabel:`Individual` is selected, as that field would not be helpful for a :guilabel:`Company` contact." msgstr "" -#: ../../content/applications/studio/fields.rst:515 +#: ../../content/applications/studio/fields.rst:523 msgid ":guilabel:`Label`: the field's name on the UI. This is not the name used in the PostgreSQL database. To view and change the latter, activate the :ref:`developer mode ` and edit the :guilabel:`Technical Name`." msgstr "" -#: ../../content/applications/studio/fields.rst:519 +#: ../../content/applications/studio/fields.rst:527 msgid ":guilabel:`Help Tooltip`: To explain the purpose of a field, add a description. The text is displayed inside a tooltip box when hovering with your mouse over the question mark beside the field's label." msgstr "" -#: ../../content/applications/studio/fields.rst:523 +#: ../../content/applications/studio/fields.rst:531 msgid ":guilabel:`Widget`: To change the default appearance or functionality of a field, select one of the available widgets." msgstr "" -#: ../../content/applications/studio/fields.rst:526 +#: ../../content/applications/studio/fields.rst:534 msgid ":guilabel:`Placeholder`: To provide an example of how a field should be completed, add placeholder text. The text appears in light gray until a value is entered." msgstr "" -#: ../../content/applications/studio/fields.rst:529 +#: ../../content/applications/studio/fields.rst:537 msgid ":guilabel:`Default value`: To display a default value in a field when a record is created, add a value." msgstr "" -#: ../../content/applications/studio/fields.rst:532 +#: ../../content/applications/studio/fields.rst:540 msgid ":guilabel:`Allow visibility to groups`: To limit which users can view the field, select one or more user access :ref:`groups `." msgstr "" -#: ../../content/applications/studio/fields.rst:534 +#: ../../content/applications/studio/fields.rst:542 msgid ":guilabel:`Forbid visibility to groups`: To prevent certain users from seeing the field, select one or more user access :ref:`groups `." msgstr "" -#: ../../content/applications/studio/fields.rst:540 +#: ../../content/applications/studio/fields.rst:548 msgid "Properties for Date & Time fields" msgstr "" -#: ../../content/applications/studio/fields.rst:542 +#: ../../content/applications/studio/fields.rst:550 msgid "For :guilabel:`Date & Time` fields that have the :guilabel:`Date & Time` or :guilabel:`Date Range` widget set, some specific properties are available:" msgstr "" -#: ../../content/applications/studio/fields.rst:545 +#: ../../content/applications/studio/fields.rst:553 msgid ":guilabel:`Minimal precision`: Determine the smallest date unit that must be selected in the date selector. The possible values are :guilabel:`Day`, :guilabel:`Month`, :guilabel:`Year` or :guilabel:`Decade`. If no value is selected, the user must select a day in the date selector." msgstr "" -#: ../../content/applications/studio/fields.rst:548 +#: ../../content/applications/studio/fields.rst:556 msgid ":guilabel:`Maximal precision`: Determine the largest date unit that can be used to navigate the date selector. The possible values are :guilabel:`Day`, :guilabel:`Month`, :guilabel:`Year` or :guilabel:`Decade`. If no value is selected, the user can navigate the date selector by decade." msgstr "" -#: ../../content/applications/studio/fields.rst:551 +#: ../../content/applications/studio/fields.rst:559 msgid ":guilabel:`Warning for future dates`: Enable this property to display a warning icon if a future date is selected." msgstr "" -#: ../../content/applications/studio/fields.rst:553 +#: ../../content/applications/studio/fields.rst:561 msgid ":guilabel:`Date format`: By default the date will be shown as `Apr 2, 2025, 08:05 AM`. Enable this property to show the date in the format `4/2/2025 08:05:00`. The numeric mode is the format set on the current language. In this mode the seconds are always shown." msgstr "" -#: ../../content/applications/studio/fields.rst:557 +#: ../../content/applications/studio/fields.rst:565 msgid ":guilabel:`Show date`: This property is enabled by default for :guilabel:`Date & Time` fields. Disable this property to show only the time." msgstr "" -#: ../../content/applications/studio/fields.rst:559 +#: ../../content/applications/studio/fields.rst:567 msgid ":guilabel:`Show time`: This property is enabled by default for :guilabel:`Date & Time` fields. On a read-only field, disable the property to show only the date. This can keep a list view less cluttered, for example." msgstr "" -#: ../../content/applications/studio/fields.rst:562 +#: ../../content/applications/studio/fields.rst:570 msgid ":guilabel:`Show seconds`: This property is disabled by default for :guilabel:`Date & Time` fields. Enable the property to show the seconds." msgstr "" -#: ../../content/applications/studio/fields.rst:564 +#: ../../content/applications/studio/fields.rst:572 msgid ":guilabel:`Time interval`: Enter a value to determine the minute intervals shown in the time selector. For example, enter 15 to allow quarter-hour intervals. The default value is set to 5 minutes." msgstr "" -#: ../../content/applications/studio/fields.rst:567 +#: ../../content/applications/studio/fields.rst:575 msgid ":guilabel:`Earliest accepted date`: Enter the earliest date that can be selected in the date selector in ISO-format, i.e., `YYYY-MM-DD`. If the current date is always the earliest accepted date, enter `today`. On the date selector, dates prior to the earliest accepted date are grayed out." msgstr "" -#: ../../content/applications/studio/fields.rst:571 +#: ../../content/applications/studio/fields.rst:579 msgid ":guilabel:`Latest accepted date`: Enter the latest date that can be selected in the date selector in ISO-format, i.e., `YYYY-MM-DD`. If the current date is always the latest accepted date, enter `today`. On the date selector, dates later than the latest accepted date are grayed out." msgstr "" @@ -2727,9 +2759,9 @@ msgid "General views" msgstr "" #: ../../content/applications/studio/views.rst:33 -#: ../../content/applications/studio/views.rst:106 -#: ../../content/applications/studio/views.rst:207 -#: ../../content/applications/studio/views.rst:322 +#: ../../content/applications/studio/views.rst:115 +#: ../../content/applications/studio/views.rst:223 +#: ../../content/applications/studio/views.rst:338 msgid "The settings described below are found under the view's :guilabel:`View` tab unless specified otherwise." msgstr "" @@ -2754,36 +2786,40 @@ msgid "To add a button, click :guilabel:`Add a button` at the top of the form, e msgstr "" #: ../../content/applications/studio/views.rst:51 -#: ../../content/applications/studio/views.rst:155 +#: ../../content/applications/studio/views.rst:164 msgid ":guilabel:`Run a Server Action`: select the :ref:`server action ` to be executed from the dropdown list;" msgstr "" #: ../../content/applications/studio/views.rst:53 -#: ../../content/applications/studio/views.rst:157 +#: ../../content/applications/studio/views.rst:166 msgid ":guilabel:`Call a method`: specify an existing Python method already defined in Odoo." msgstr "" #: ../../content/applications/studio/views.rst:55 -msgid "To change a button's label or style, click the button and edit its :guilabel:`Label` or :guilabel:`Class` (either `btn-primary` or `btn-secondary`) in the :guilabel:`Properties` tab." +msgid "To change a button's label or style, click the button and edit its :guilabel:`Label` or :guilabel:`Class` (either `btn-primary` for a *primary* button or `btn-secondary` for a *secondary* button) in the :guilabel:`Properties` tab." msgstr "" -#: ../../content/applications/studio/views.rst:57 +#: ../../content/applications/studio/views.rst:60 +msgid "*Primary* buttons represent the main action(s) the user can take in a specific view, e.g., :guilabel:`Send` a request for quotation, and are more visually prominent. *Secondary* buttons offer alternative or less common actions, e.g., :guilabel:`Print` or :guilabel:`Preview` a request for quotation, and are less visually prominent. By default, a new button is styled as a secondary button." +msgstr "" + +#: ../../content/applications/studio/views.rst:66 msgid "To add a smart button, click the :icon:`fa-plus-square` (:guilabel:`plus`) icon in the top-right corner of the form. Enter a :guilabel:`Label`, choose an :guilabel:`Icon`, and select a :ref:`related field `." msgstr "" #: ../../content/applications/studio/views.rst:0 -msgid "Sales order model's Form view" +msgid "Quotation Template model's Form view" msgstr "" -#: ../../content/applications/studio/views.rst:69 +#: ../../content/applications/studio/views.rst:78 msgid "Activity" msgstr "" -#: ../../content/applications/studio/views.rst:71 +#: ../../content/applications/studio/views.rst:80 msgid "The :guilabel:`Activity` :icon:`fa-clock-o` view is used to schedule and have an overview of activities (emails, calls, etc.) linked to records." msgstr "" -#: ../../content/applications/studio/views.rst:75 +#: ../../content/applications/studio/views.rst:84 msgid "This view can only be modified within Studio by editing the XML code." msgstr "" @@ -2791,19 +2827,19 @@ msgstr "" msgid "Lead/Opportunity model's Activity view" msgstr "" -#: ../../content/applications/studio/views.rst:85 +#: ../../content/applications/studio/views.rst:94 msgid "Search" msgstr "" -#: ../../content/applications/studio/views.rst:87 +#: ../../content/applications/studio/views.rst:96 msgid "The :guilabel:`Search` :icon:`oi-search` view is added on top of other views to filter, group, and search records." msgstr "" -#: ../../content/applications/studio/views.rst:90 +#: ../../content/applications/studio/views.rst:99 msgid "To add custom :guilabel:`Filters` and structure them using :guilabel:`Separators`, go to the :guilabel:`+ Add` tab and drag and drop them under :guilabel:`Filters`." msgstr "" -#: ../../content/applications/studio/views.rst:92 +#: ../../content/applications/studio/views.rst:101 msgid "To add an existing field under the search dropdown menu, go to the :guilabel:`+ Add` tab and drag and drop it under :guilabel:`Autocompletion Fields`." msgstr "" @@ -2811,32 +2847,32 @@ msgstr "" msgid "Project model's Search view on the Kanban view" msgstr "" -#: ../../content/applications/studio/views.rst:103 +#: ../../content/applications/studio/views.rst:112 msgid "Multiple records views" msgstr "" -#: ../../content/applications/studio/views.rst:112 +#: ../../content/applications/studio/views.rst:121 msgid "Kanban" msgstr "" -#: ../../content/applications/studio/views.rst:114 +#: ../../content/applications/studio/views.rst:123 msgid "The :guilabel:`Kanban` :icon:`oi-view-kanban` view is often used to support business flows by moving records across stages or as an alternative way to display records inside *cards*." msgstr "" -#: ../../content/applications/studio/views.rst:118 +#: ../../content/applications/studio/views.rst:127 msgid "If the :guilabel:`Kanban` view exists, it is used by default to display data on mobile devices instead of the :ref:`List view `." msgstr "" -#: ../../content/applications/studio/views.rst:121 +#: ../../content/applications/studio/views.rst:130 msgid "To prevent users from creating new records, untick :guilabel:`Can Create`." msgstr "" -#: ../../content/applications/studio/views.rst:122 +#: ../../content/applications/studio/views.rst:131 msgid "To create records directly within the view, in a minimalistic form, enable :guilabel:`Quick Create`." msgstr "" -#: ../../content/applications/studio/views.rst:124 -#: ../../content/applications/studio/views.rst:151 +#: ../../content/applications/studio/views.rst:133 +#: ../../content/applications/studio/views.rst:160 msgid "To set a default grouping for records, select a field under :guilabel:`Default Group By`." msgstr "" @@ -2844,39 +2880,43 @@ msgstr "" msgid "Project model's Kanban view" msgstr "" -#: ../../content/applications/studio/views.rst:134 +#: ../../content/applications/studio/views.rst:143 msgid "List" msgstr "" -#: ../../content/applications/studio/views.rst:136 +#: ../../content/applications/studio/views.rst:145 msgid "The :guilabel:`List` :icon:`oi-view-list` view is used to overview many records at once, look for records, and edit simple records." msgstr "" -#: ../../content/applications/studio/views.rst:139 +#: ../../content/applications/studio/views.rst:148 msgid "To prevent users from creating, editing, deleting or duplicating records, untick :guilabel:`Can Create`, :guilabel:`Can Edit`, :guilabel:`Can Delete`, or :guilabel:`Can Duplicate`." msgstr "" -#: ../../content/applications/studio/views.rst:141 +#: ../../content/applications/studio/views.rst:150 msgid "To create and edit records directly within the view, select either :guilabel:`Add record at the bottom`, :guilabel:`Add record on top` or :guilabel:`Open form view` under :guilabel:`When Creating Record`." msgstr "" -#: ../../content/applications/studio/views.rst:146 +#: ../../content/applications/studio/views.rst:155 msgid "This prevents users from opening records in :ref:`Form view ` from the :guilabel:`List` view." msgstr "" -#: ../../content/applications/studio/views.rst:149 +#: ../../content/applications/studio/views.rst:158 msgid "To edit several records at once, tick :guilabel:`Enable Mass Editing`." msgstr "" -#: ../../content/applications/studio/views.rst:150 +#: ../../content/applications/studio/views.rst:159 msgid "To change the way records are sorted by default, select a field under :guilabel:`Sort By`." msgstr "" -#: ../../content/applications/studio/views.rst:152 +#: ../../content/applications/studio/views.rst:161 msgid "To add a button, click :guilabel:`Add a button` at the top of the list, enter a :guilabel:`Label`, and select the button's action:" msgstr "" -#: ../../content/applications/studio/views.rst:160 +#: ../../content/applications/studio/views.rst:168 +msgid "The widths of columns in a :guilabel:`List` :icon:`oi-view-list` view are computed automatically to provide the optimal user experience. However, it is also possible to set a fixed column width per field. To do so, click on the relevant column to open the field's :icon:`fa-server` :guilabel:`Properties` tab, then enter the desired number of pixels in the :guilabel:`Column Width (px)` field." +msgstr "" + +#: ../../content/applications/studio/views.rst:175 msgid "To add a :icon:`oi-draggable` (:guilabel:`drag handle`) icon to reorder records manually, add an :ref:`Integer field ` with the :guilabel:`Handle` widget." msgstr "" @@ -2888,31 +2928,31 @@ msgstr "" msgid "Sales order model's List view" msgstr "" -#: ../../content/applications/studio/views.rst:174 +#: ../../content/applications/studio/views.rst:190 msgid "Map" msgstr "" -#: ../../content/applications/studio/views.rst:176 +#: ../../content/applications/studio/views.rst:192 msgid "The :guilabel:`Map` :icon:`fa-map-marker` view is used to display records on a map. For example, it is used in the Field Service app to plan an itinerary between different tasks." msgstr "" -#: ../../content/applications/studio/views.rst:180 +#: ../../content/applications/studio/views.rst:196 msgid "A :ref:`Many2One field ` linked to the *Contact* model is required to activate the view, as the contact address is used to position records on the map." msgstr "" -#: ../../content/applications/studio/views.rst:183 +#: ../../content/applications/studio/views.rst:199 msgid "To select which kind of contact should be used on the map, select it under :guilabel:`Contact Field`." msgstr "" -#: ../../content/applications/studio/views.rst:185 +#: ../../content/applications/studio/views.rst:201 msgid "To hide the name or the address of the record, tick :guilabel:`Hide Name` or :guilabel:`Hide Address`." msgstr "" -#: ../../content/applications/studio/views.rst:187 +#: ../../content/applications/studio/views.rst:203 msgid "To add information from other fields, select them under :guilabel:`Additional Fields`." msgstr "" -#: ../../content/applications/studio/views.rst:188 +#: ../../content/applications/studio/views.rst:204 msgid "To have a route suggested between the different records, tick :guilabel:`Enable Routing` and select which field should be used to sort records for the routing." msgstr "" @@ -2920,47 +2960,47 @@ msgstr "" msgid "Task model's Map view" msgstr "" -#: ../../content/applications/studio/views.rst:199 +#: ../../content/applications/studio/views.rst:215 msgid "Timeline views" msgstr "" -#: ../../content/applications/studio/views.rst:202 +#: ../../content/applications/studio/views.rst:218 msgid "When you first activate one of the timeline views, you need to select which :ref:`Date ` or :ref:`Date & Time ` fields on your model should be used to define when the records start and stop in order to display them on the view. You can modify the :guilabel:`Start Date Field` and :guilabel:`Stop Date Field` after activating the view." msgstr "" -#: ../../content/applications/studio/views.rst:213 +#: ../../content/applications/studio/views.rst:229 msgid "Calendar" msgstr "" -#: ../../content/applications/studio/views.rst:215 +#: ../../content/applications/studio/views.rst:231 msgid "The :guilabel:`Calendar` :icon:`fa-calendar` view is used to overview and manage records inside a calendar." msgstr "" -#: ../../content/applications/studio/views.rst:218 +#: ../../content/applications/studio/views.rst:234 msgid "To create records directly within the view instead of opening the :ref:`Form view `, enable :guilabel:`Quick Create`." msgstr "" -#: ../../content/applications/studio/views.rst:222 +#: ../../content/applications/studio/views.rst:238 msgid "This only works on specific models that can be *quick-created* using only a *name*. However, most models do not support quick creation and open the :guilabel:`Form` view to fill in the required fields." msgstr "" -#: ../../content/applications/studio/views.rst:226 +#: ../../content/applications/studio/views.rst:242 msgid "To color records on the calendar, select a field under :guilabel:`Color`. All the records sharing the same value for that field are displayed using the same color." msgstr "" -#: ../../content/applications/studio/views.rst:230 +#: ../../content/applications/studio/views.rst:246 msgid "As the number of colors is limited, the same color can end up being assigned to different values." msgstr "" -#: ../../content/applications/studio/views.rst:233 +#: ../../content/applications/studio/views.rst:249 msgid "To display events lasting the whole day at the top of the calendar, select a :ref:`Checkbox field ` that specifies if the event lasts the whole day." msgstr "" -#: ../../content/applications/studio/views.rst:236 +#: ../../content/applications/studio/views.rst:252 msgid "To choose the default time scale used to display events, select :guilabel:`Day`, :guilabel:`Week`, :guilabel:`Month`, or :guilabel:`Year` under :guilabel:`Default Display Mode`." msgstr "" -#: ../../content/applications/studio/views.rst:240 +#: ../../content/applications/studio/views.rst:256 msgid "You can also use a :guilabel:`Delay Field` to display the duration of the event in hours by selecting a :ref:`Decimal ` or :ref:`Integer ` field on the model which specifies the duration of the event. However, if you set an :guilabel:`End Date Field`, the :guilabel:`Delay Field` will not be taken into account." msgstr "" @@ -2968,27 +3008,27 @@ msgstr "" msgid "Calendar Event model's Calendar view" msgstr "" -#: ../../content/applications/studio/views.rst:254 +#: ../../content/applications/studio/views.rst:270 msgid "Cohort" msgstr "" -#: ../../content/applications/studio/views.rst:256 +#: ../../content/applications/studio/views.rst:272 msgid "The :guilabel:`Cohort` :icon:`oi-view-cohort` view is used to examine the life cycle of records over a time period. For example, it is used in the Subscriptions app to view the subscriptions' retention rate." msgstr "" -#: ../../content/applications/studio/views.rst:260 +#: ../../content/applications/studio/views.rst:276 msgid "To display a measure (i.e., the aggregated value of a given field) by default on the view, select a :guilabel:`Measure Field`." msgstr "" -#: ../../content/applications/studio/views.rst:262 +#: ../../content/applications/studio/views.rst:278 msgid "To choose which time interval is used by default to group results, select :guilabel:`Day`, :guilabel:`Week`, :guilabel:`Month`, or :guilabel:`Year` under :guilabel:`Interval`." msgstr "" -#: ../../content/applications/studio/views.rst:264 +#: ../../content/applications/studio/views.rst:280 msgid "To change the cohort :guilabel:`Mode`, select either :guilabel:`Retention` :dfn:`the percentage of records staying over a period of time, it starts at 100% and decreases with time` or :guilabel:`Churn` :dfn:`the percentage of records moving out over a period of time - it starts at 0% and increases with time`." msgstr "" -#: ../../content/applications/studio/views.rst:268 +#: ../../content/applications/studio/views.rst:284 msgid "To change the way the :guilabel:`Timeline` (i.e., the columns) progresses, select either :guilabel:`Forward` (from 0 to +15) or :guilabel:`Backward` (from -15 to 0). For most purposes, the :guilabel:`Forward` timeline is used." msgstr "" @@ -2996,51 +3036,51 @@ msgstr "" msgid "Subscription model's Cohort view" msgstr "" -#: ../../content/applications/studio/views.rst:280 +#: ../../content/applications/studio/views.rst:296 msgid "Gantt" msgstr "" -#: ../../content/applications/studio/views.rst:282 +#: ../../content/applications/studio/views.rst:298 msgid "The :guilabel:`Gantt` :icon:`fa-tasks` view is used to forecast and examine the overall progress of records. Records are represented by a bar under a time scale." msgstr "" -#: ../../content/applications/studio/views.rst:285 +#: ../../content/applications/studio/views.rst:301 msgid "To prevent users from creating or editing records, untick :guilabel:`Can Create` or :guilabel:`Can Edit`." msgstr "" -#: ../../content/applications/studio/views.rst:287 +#: ../../content/applications/studio/views.rst:303 msgid "To fill cells in gray whenever a record should not be created there (e.g., on weekends for employees), tick :guilabel:`Display Unavailability`." msgstr "" -#: ../../content/applications/studio/views.rst:291 +#: ../../content/applications/studio/views.rst:307 msgid "The underlying model must support this feature, and support for it cannot be added using Studio. It is supported for the Project, Time Off, Planning, and Manufacturing apps." msgstr "" -#: ../../content/applications/studio/views.rst:294 +#: ../../content/applications/studio/views.rst:310 msgid "To show a total row at the bottom, tick :guilabel:`Display Total row`." msgstr "" -#: ../../content/applications/studio/views.rst:295 +#: ../../content/applications/studio/views.rst:311 msgid "To collapse multiple records in a single row, tick :guilabel:`Collapse First Level`." msgstr "" -#: ../../content/applications/studio/views.rst:296 +#: ../../content/applications/studio/views.rst:312 msgid "To choose which way records are grouped by default on rows (e.g., per employee or project), select a field under :guilabel:`Default Group by`." msgstr "" -#: ../../content/applications/studio/views.rst:298 +#: ../../content/applications/studio/views.rst:314 msgid "To define a default time scale to view records, select :guilabel:`Day`, :guilabel:`Week`, :guilabel:`Month`, or :guilabel:`Year` under :guilabel:`Default Scale`." msgstr "" -#: ../../content/applications/studio/views.rst:300 +#: ../../content/applications/studio/views.rst:316 msgid "To color records on the view, select a field under :guilabel:`Color`. All the records sharing the same value for that field are displayed using the same color." msgstr "" -#: ../../content/applications/studio/views.rst:304 +#: ../../content/applications/studio/views.rst:320 msgid "As the number of colors is limited, the same color can be assigned to different values." msgstr "" -#: ../../content/applications/studio/views.rst:306 +#: ../../content/applications/studio/views.rst:322 msgid "To specify with which degree of precision each time scale should be divided by, select :guilabel:`Quarter Hour`, :guilabel:`Half Hour`, or :guilabel:`Hour` under :guilabel:`Day Precision`, :guilabel:`Half Day` or :guilabel:`Day` under :guilabel:`Week Precision`, and :guilabel:`Month Precision`." msgstr "" @@ -3048,31 +3088,31 @@ msgstr "" msgid "Planning Shift model's Gantt view" msgstr "" -#: ../../content/applications/studio/views.rst:319 +#: ../../content/applications/studio/views.rst:335 msgid "Reporting views" msgstr "" -#: ../../content/applications/studio/views.rst:328 +#: ../../content/applications/studio/views.rst:344 msgid "Pivot" msgstr "" -#: ../../content/applications/studio/views.rst:330 +#: ../../content/applications/studio/views.rst:346 msgid "The :guilabel:`Pivot` :icon:`oi-view-pivot` view is used to explore and analyze the data contained in records in an interactive manner. It is especially useful to aggregate numeric data, create categories, and drill down the data by expanding and collapsing different levels of data." msgstr "" -#: ../../content/applications/studio/views.rst:334 +#: ../../content/applications/studio/views.rst:350 msgid "To access all records whose data is aggregated under a cell, tick :guilabel:`Access records from cell`." msgstr "" -#: ../../content/applications/studio/views.rst:336 +#: ../../content/applications/studio/views.rst:352 msgid "To divide the data into different categories, select field(s) under :guilabel:`Column grouping`, :guilabel:`Row grouping - First level`, or :guilabel:`Row grouping - Second level`." msgstr "" -#: ../../content/applications/studio/views.rst:338 +#: ../../content/applications/studio/views.rst:354 msgid "To add different types of data to be measured using the view, select a field under :guilabel:`Measures`." msgstr "" -#: ../../content/applications/studio/views.rst:340 +#: ../../content/applications/studio/views.rst:356 msgid "To display a count of records that made up the aggregated data in a cell, tick :guilabel:`Display count`." msgstr "" @@ -3080,35 +3120,35 @@ msgstr "" msgid "Purchase Report model's Pivot view" msgstr "" -#: ../../content/applications/studio/views.rst:351 +#: ../../content/applications/studio/views.rst:367 msgid "Graph" msgstr "" -#: ../../content/applications/studio/views.rst:353 +#: ../../content/applications/studio/views.rst:369 msgid "The :guilabel:`Graph` :icon:`fa-area-chart` view is used to showcase data from records in a bar, line, or pie chart." msgstr "" -#: ../../content/applications/studio/views.rst:356 +#: ../../content/applications/studio/views.rst:372 msgid "To change the default chart, select :guilabel:`Bar`, :guilabel:`Line`, or :guilabel:`Pie` under :guilabel:`Type`." msgstr "" -#: ../../content/applications/studio/views.rst:358 +#: ../../content/applications/studio/views.rst:374 msgid "To choose a default data dimension (category), select a field under :guilabel:`First dimension` and, if needed, another under :guilabel:`Second dimension`." msgstr "" -#: ../../content/applications/studio/views.rst:360 +#: ../../content/applications/studio/views.rst:376 msgid "To select a default type of data to be measured using the view, select a field under :guilabel:`Measure`." msgstr "" -#: ../../content/applications/studio/views.rst:362 +#: ../../content/applications/studio/views.rst:378 msgid "*For Bar and Line charts only*: To sort the different data categories by their value, select :guilabel:`Ascending` (from lowest to highest value) or :guilabel:`Descending` (from highest to lowest) under :guilabel:`Sorting`." msgstr "" -#: ../../content/applications/studio/views.rst:365 +#: ../../content/applications/studio/views.rst:381 msgid "*For Bar and Pie charts only*: To access all records whose data is aggregated under a data category on the chart, tick :guilabel:`Access records from graph`." msgstr "" -#: ../../content/applications/studio/views.rst:367 +#: ../../content/applications/studio/views.rst:383 msgid "*For Bar charts only*: When using two data dimensions (categories), display the two columns on top of each other by default by ticking :guilabel:`Stacked graph`." msgstr "" diff --git a/locale/sources/websites.pot b/locale/sources/websites.pot index f5921fadc7..014d33b0b7 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-10-20 14:56+0200\n" +"POT-Creation-Date: 2025-11-19 09:34+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -249,6 +249,105 @@ msgstr "" msgid "`Odoo Tutorials: eCommerce `_" msgstr "" +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:3 +msgid "B2B and B2C" +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:5 +msgid "Odoo eCommerce is designed to fulfill the needs of both B2B and B2C companies. It allows you to configure :doc:`prices `, manage :doc:`access ` for specific customers, and :ref:`customize the website ` to support B2B, B2C, or both business models." +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:13 +#: ../../content/applications/websites/ecommerce/products/prices.rst:3 +msgid "Prices" +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:15 +msgid "While B2C businesses sell directly to the end consumer with a :ref:`tax-included ` price, B2B businesses usually :ref:`exclude taxes ` and may even prefer to hide prices altogether, showcasing only their products instead. To configure a B2B-specific ecommerce shop, make sure the :ref:`Tax-Excluded ` option is enabled, and complete the configuration to :ref:`hide the pricing `." +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:24 +msgid "To make sure that only customers with an :ref:`account and granted access ` can see the prices, go to :menuselection:`Website --> eCommerce --> Customers`, click the :icon:`fa-caret-down` :guilabel:`(dropdown)` icon from the search bar, and select the :guilabel:`Archived` filter. Then click the :guilabel:`Public user` card, go to the :guilabel:`Sales & Purchase` tab, and add the zero-priced pricelist configured to :ref:`cover all countries `. Keep the :guilabel:`Public User` contact :guilabel:`Archived` at all times. Website visitors now see the products without prices, while only customers with an :ref:`account invitation ` and an assigned :ref:`pricelist ` can view the pricing in the customer portal." +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:36 +msgid ":doc:`/applications/finance/accounting/taxes/B2B_B2C`" +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:37 +msgid ":ref:`Discounts `" +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:40 +msgid "Access request" +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:42 +msgid "When running a B2B business, you usually :ref:`hide the pricing ` on the web shop and make it available for :ref:`logged-in users ` only. To prevent anyone from signing up freely, set the :ref:`Customer Account ` setting option to :guilabel:`On invitation`. To create a page where customers request access, open the :doc:`website editor <../website/web_design>`, :ref:`create a form `, customize it, and in the :guilabel:`Action` field, select :guilabel:`Create a customer`." +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:51 +msgid "You can assign tags created on a contact form under :menuselection:`Website --> Configuration --> Customers` to identify what kind of customers have submitted the form. To do so, select a field in the form while in :guilabel:`Edit` mode, click the :guilabel:`+ Field` button under the :guilabel:`Customize` tab, and set the field's :guilabel:`Type` to :guilabel:`Tags`. Toggle the tags that should be automatically assigned when a customer fills in the form and set the field's :guilabel:`Visibility` to :guilabel:`Hidden`." +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:58 +msgid "When a customer submits the form, a new contact is automatically created in the database. The contact is assigned the first pricelist from the list of available pricelists, and, if applicable, the specified tags." +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:62 +msgid "Submitted requests can be found under the :menuselection:`Website --> eCommerce --> Customers`. Select the customer you want to :ref:`grant portal access ` to. Once done, the selected customer is able to view the B2B prices and products. Make sure the correct pricelist is assigned to their contact form." +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:69 +msgid "It is also possible to hide the entire shop from the public using the :ref:`Ecommerce Access ` setting and only make it available for logged-in customers." +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:72 +msgid "Configure the :ref:`checkout policy ` to allow/disallow guest checkout for B2C businesses." +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:74 +msgid "Enable the :ref:`Shared Customer Accounts ` feature to allow customers to use the same account on :ref:`all ` your websites." +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:79 +msgid ":doc:`customer_accounts`" +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:84 +#: ../../content/applications/websites/website/configuration/multi_website.rst:3 +msgid "Multiple websites" +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:86 +msgid "Settings are website-specific, which means it is possible to configure different behaviors for each website. For example, you can set up a B2C website that allows :ref:`guest checkout ` and displays :ref:`tax-included prices `, and a B2B website that requires :ref:`sign-in ` and shows :ref:`tax-excluded prices `. However, each :ref:`pricelist ` can only be assigned to one website at a time. If you want to use the same pricelist on several websites, duplicate the pricelist and assign each copy to its corresponding website." +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:97 +msgid "If you are running a B2B and B2C business, we *strongly* recommend to create two :doc:`separate websites <../website/configuration/multi_website>` and assign a :ref:`zero-priced pricelist ` to the B2B website and a regular pricelist to the B2C website. In case, you prefer using a single website, configure it using :ref:`country groups ` and assigning :ref:`pricelists ` to customers, and deactivate the :ref:`Selectable ` option." +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:106 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:258 +msgid "Additional features" +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:109 +msgid "Invoice" +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:111 +msgid "Depending on the type of business (B2B or B2C), you might want to issue an invoice. An invoice can either be generated automatically (for B2B) or on demand of the customer (for B2C). This process can be automated if (and when) the online payment is :ref:`confirmed `. To automate invoicing, enable the :ref:`Automatic Invoice ` setting. If this feature has not been enabled, the customer only receives an order confirmation." +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:120 +msgid "B2B fields at checkout" +msgstr "" + +#: ../../content/applications/websites/ecommerce/b2b_b2c.rst:122 +msgid "On the :guilabel:`Order summary` page, open the :doc:`website editor <../website/web_design>`, go to the :guilabel:`Style` tab, and toggle the :guilabel:`Show B2B Fields` switch to display B2B-specific additional fields like :guilabel:`VAT` or :guilabel:`Company Name` during the :ref:`delivery ` step." +msgstr "" + #: ../../content/applications/websites/ecommerce/checkout.rst:3 msgid "Ordering and checkout" msgstr "" @@ -310,58 +409,54 @@ msgid "Removing the ability to add products to the cart is often used by busines msgstr "" #: ../../content/applications/websites/ecommerce/checkout.rst:51 -msgid "To do so, go to :menuselection:`Website --> Configuration --> Settings`. Under the :guilabel:`eCommerce` section, enable :guilabel:`Prevent Sale of Zero Priced Product`, and enter the redirect URL in the :guilabel:`Button URL` field." -msgstr "" - -#: ../../content/applications/websites/ecommerce/checkout.rst:55 -msgid "Then, for all products that should display the :guilabel:`Contact Us` button, set their price to `0` using the product form or a :doc:`pricelist <../../sales/sales/products_prices/prices/pricing>`." +msgid "To display the :guilabel:`Contact Us` button and a note saying `Not Available For Sale` , you need to :ref:`hide your prices ` on your product page." msgstr "" #: ../../content/applications/websites/ecommerce/checkout.rst:-1 msgid "Contact us button on product page" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:62 +#: ../../content/applications/websites/ecommerce/checkout.rst:58 msgid "The :guilabel:`Contact Us` button label, URL, and the *Not Available For Sale* text beneath the product title and description can be modified on the product's page while in :guilabel:`Edit` mode." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:67 +#: ../../content/applications/websites/ecommerce/checkout.rst:63 msgid "Additional add to cart buttons" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:69 +#: ../../content/applications/websites/ecommerce/checkout.rst:65 msgid "You can add additional :guilabel:`Add to Cart` buttons and link them to specific products on any website page." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:72 +#: ../../content/applications/websites/ecommerce/checkout.rst:68 msgid "To add them, open the website editor and place the :guilabel:`Add to Cart Button` inner content building block. Once placed, click the button, scroll to the :guilabel:`Add to Cart Button` section, and configure the following:" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:76 +#: ../../content/applications/websites/ecommerce/checkout.rst:72 msgid ":guilabel:`Product`: Select the product to link the button with." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:77 +#: ../../content/applications/websites/ecommerce/checkout.rst:73 msgid ":guilabel:`Action`: Choose if it should be an :guilabel:`Add to Cart` or :ref:`Buy Now ` button." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:81 +#: ../../content/applications/websites/ecommerce/checkout.rst:77 msgid "If the product has variants, either choose one or leave the option on :guilabel:`Visitor's Choice`, which prompts the customer to select a variant and then :guilabel:`Add to Cart` and continue shopping or :guilabel:`Go to Checkout`." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:84 +#: ../../content/applications/websites/ecommerce/checkout.rst:80 msgid "The default :guilabel:`Add to Cart` button does not offer those options, but its label can be changed." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:88 +#: ../../content/applications/websites/ecommerce/checkout.rst:84 msgid "In the website editor, it is also possible to show or hide the :icon:`fa-shopping-cart` (:guilabel:`cart`) icon in the page's header. Click the header and then the :icon:`fa-shopping-cart` (:guilabel:`cart`) button next to the :guilabel:`Show Empty` option under the :guilabel:`Style` tab." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:96 +#: ../../content/applications/websites/ecommerce/checkout.rst:92 msgid "Buy now" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:98 +#: ../../content/applications/websites/ecommerce/checkout.rst:94 msgid "To let customers choose to go to the :ref:`Order summary ` step directly, you can add an additional :guilabel:`Buy now` button. To do so, go to any product's page, open the website editor, go to the :guilabel:`Style` tab, and click the :icon:`fa-bolt` :guilabel:`Buy Now` button next to the :guilabel:`Purchase Options`." msgstr "" @@ -369,15 +464,15 @@ msgstr "" msgid "Buy now button" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:109 +#: ../../content/applications/websites/ecommerce/checkout.rst:105 msgid "Reorder products" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:111 +#: ../../content/applications/websites/ecommerce/checkout.rst:107 msgid "Customers can reorder items from a previous sales order:" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:113 +#: ../../content/applications/websites/ecommerce/checkout.rst:109 msgid "from their customer portal, using the :guilabel:`Order Again` button. All products from the selected order are automatically added to the cart, and customers can then :guilabel:`Remove` any items they don't want to reorder." msgstr "" @@ -385,7 +480,7 @@ msgstr "" msgid "Reorder button" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:120 +#: ../../content/applications/websites/ecommerce/checkout.rst:116 msgid "from the cart, by clicking :guilabel:`Quick reorder` at the :ref:`Order summary step `. Customers can then adjust quantities as needed and click the :icon:`fa-cart-plus` :guilabel:`(cart)` button next to the product(s) they want to reorder." msgstr "" @@ -393,215 +488,147 @@ msgstr "" msgid "Quick reorder button" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:130 -msgid "Checkout policy" -msgstr "" - -#: ../../content/applications/websites/ecommerce/checkout.rst:132 -msgid "To allow customers to checkout as guests or force them to sign in/create an account, go to :menuselection:`Website --> Configuration --> Settings`, scroll down to the :guilabel:`eCommerce` section, and configure the :guilabel:`Sign in/up at checkout` setting. The following options are available:" -msgstr "" - -#: ../../content/applications/websites/ecommerce/checkout.rst:137 -msgid ":guilabel:`Optional`: Customers can check out as guests and register later via the order confirmation email to track their order." -msgstr "" - -#: ../../content/applications/websites/ecommerce/checkout.rst:139 -msgid ":guilabel:`Disabled`: Customers can check out as guests without creating an account." -msgstr "" - -#: ../../content/applications/websites/ecommerce/checkout.rst:140 -msgid ":guilabel:`Mandatory`: Customers must sign in or create an account at the :ref:`Order summary ` step to complete their purchase." -msgstr "" - -#: ../../content/applications/websites/ecommerce/checkout.rst:144 -msgid "B2B access management" -msgstr "" - -#: ../../content/applications/websites/ecommerce/checkout.rst:146 -msgid "To restrict checkout to selected B2B customers:" -msgstr "" - -#: ../../content/applications/websites/ecommerce/checkout.rst:148 -msgid "Go to :menuselection:`Website --> Configuration --> Settings` and enable the :ref:`Mandatory ` option in the :guilabel:`eCommerce` section." -msgstr "" - -#: ../../content/applications/websites/ecommerce/checkout.rst:151 -msgid "In the :guilabel:`General` section of the settings, set the :guilabel:`Customer Account` option to :guilabel:`On invitation`." -msgstr "" - -#: ../../content/applications/websites/ecommerce/checkout.rst:153 -msgid "Go to :menuselection:`Website --> eCommerce --> Customers`, switch to the :guilabel:`List` view, and select the customers you wish to grant access to your :doc:`portal <../../general/users/portal>`." -msgstr "" - -#: ../../content/applications/websites/ecommerce/checkout.rst:156 -msgid "Click the :icon:`fa-cog` :guilabel:`Actions` button, then :guilabel:`Grant portal access`." -msgstr "" - -#: ../../content/applications/websites/ecommerce/checkout.rst:157 -msgid "Review the selected customers in the :guilabel:`Portal Access Management` pop-up and click :guilabel:`Grant Access`." -msgstr "" - -#: ../../content/applications/websites/ecommerce/checkout.rst:160 -msgid "Once done, the relevant customers receive an email confirming their account creation, including instructions on setting a password and activating their account." -msgstr "" - -#: ../../content/applications/websites/ecommerce/checkout.rst:164 -msgid "You can revoke access or re-invite a customer using the related buttons in the :guilabel:`Portal Access Management` pop-up." -msgstr "" - -#: ../../content/applications/websites/ecommerce/checkout.rst:166 -msgid "Users can only have one :doc:`portal access <../../general/users/portal>` per email." -msgstr "" - -#: ../../content/applications/websites/ecommerce/checkout.rst:167 -msgid "Settings are website-specific, so you could set up a B2C website that allows guest checkout and a B2B website with mandatory sign-in." -msgstr "" - -#: ../../content/applications/websites/ecommerce/checkout.rst:171 -msgid ":doc:`Customer accounts documentation `" -msgstr "" - -#: ../../content/applications/websites/ecommerce/checkout.rst:172 -msgid ":doc:`Portal access documentation <../../general/users/portal>`" -msgstr "" - -#: ../../content/applications/websites/ecommerce/checkout.rst:177 +#: ../../content/applications/websites/ecommerce/checkout.rst:126 msgid "Checkout steps" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:179 +#: ../../content/applications/websites/ecommerce/checkout.rst:128 msgid "During the checkout process, customers are taken through the following steps:" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:181 +#: ../../content/applications/websites/ecommerce/checkout.rst:130 msgid ":ref:`Order summary `" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:182 +#: ../../content/applications/websites/ecommerce/checkout.rst:131 msgid ":ref:`Address and delivery `" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:183 +#: ../../content/applications/websites/ecommerce/checkout.rst:132 msgid ":ref:`Extra info (if enabled) `" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:184 +#: ../../content/applications/websites/ecommerce/checkout.rst:133 msgid ":ref:`Payment `" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:185 +#: ../../content/applications/websites/ecommerce/checkout.rst:134 msgid ":ref:`Order confirmation `" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:189 +#: ../../content/applications/websites/ecommerce/checkout.rst:138 msgid "Each step can be customized using the website editor by adding :doc:`building blocks <../website/web_design/building_blocks>` or opening the :guilabel:`Style` tab to enable various checkout options." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:194 +#: ../../content/applications/websites/ecommerce/checkout.rst:143 msgid "Content added through building blocks is **specific** to each step." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:199 +#: ../../content/applications/websites/ecommerce/checkout.rst:146 +msgid "Restrict access to the :ref:`shop ` and :ref:`checkout ` for specific customers, e.g., in a :doc:`B2B ` business setup." +msgstr "" + +#: ../../content/applications/websites/ecommerce/checkout.rst:153 msgid "Order summary" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:201 +#: ../../content/applications/websites/ecommerce/checkout.rst:155 msgid "The :guilabel:`Order summary` step allows customers to see the items they added to their cart, adjust quantities, :guilabel:`Remove` products, and :ref:`reorder products from a previous order `. Information related to the product prices and taxes applied are also displayed. Customers can then click the :guilabel:`Checkout` button to continue to the :ref:`Address and delivery ` step." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:207 +#: ../../content/applications/websites/ecommerce/checkout.rst:161 msgid "Open the website editor to :ref:`enable ` checkout options such as:" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:210 +#: ../../content/applications/websites/ecommerce/checkout.rst:164 msgid ":guilabel:`Suggested Accessories`: to showcase :ref:`accessory products `;" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:212 +#: ../../content/applications/websites/ecommerce/checkout.rst:166 msgid ":guilabel:`Promo Code`: to allow customers to redeem :ref:`gift cards ` or apply :doc:`discount codes <../../sales/sales/products_prices/loyalty_discount>`;" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:214 +#: ../../content/applications/websites/ecommerce/checkout.rst:168 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:219 +#: ../../content/applications/websites/ecommerce/checkout.rst:173 msgid "If a :doc:`fiscal position <../../finance/accounting/taxes/fiscal_positions>` is detected automatically, the product tax is determined based on the customer's IP address." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:221 +#: ../../content/applications/websites/ecommerce/checkout.rst:175 msgid "If the installed :doc:`payment provider <../../finance/payment_providers>` supports :ref:`express checkout `, a dedicated button is displayed, allowing customers to go straight from the cart to the confirmation page without filling out the contact form." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:229 +#: ../../content/applications/websites/ecommerce/checkout.rst:183 msgid "Address and delivery" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:231 +#: ../../content/applications/websites/ecommerce/checkout.rst:185 msgid "Once they have reviewed their order:" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:233 +#: ../../content/applications/websites/ecommerce/checkout.rst:187 msgid "Unsigned-in customers are prompted to :guilabel:`Sign in` or enter their :guilabel:`Email address`, along with their delivery address and phone details;" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:235 +#: ../../content/applications/websites/ecommerce/checkout.rst:189 msgid "Signed-in customers can select the appropriate :guilabel:`Delivery address`." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:237 +#: ../../content/applications/websites/ecommerce/checkout.rst:191 msgid "They can then :doc:`choose a delivery method `, select or enter their :guilabel:`Billing Address` (or toggle the :guilabel:`Same as delivery address` switch if the billing and delivery addresses are identical), and click :guilabel:`Confirm` to proceed to the next step." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:242 -msgid "For B2B customers, you can also :ref:`enable ` optional :guilabel:`VAT` and :guilabel:`Company name` fields by toggling the :guilabel:`Show B2B Fields` option in the website editor." +#: ../../content/applications/websites/ecommerce/checkout.rst:196 +msgid "For B2B customers, you can also :ref:`enable ` optional :ref:`B2B fields ` in the website editor." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:245 +#: ../../content/applications/websites/ecommerce/checkout.rst:198 msgid "You can add a checkbox for users without an account to sign up for a newsletter. To do so, go to :menuselection:`Website --> Configuration --> Settings`, scroll down to the :guilabel:`eCommerce` section, enable the :guilabel:`Newsletter` feature, and select a :guilabel:`Newsletter List`." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:253 +#: ../../content/applications/websites/ecommerce/checkout.rst:206 msgid "Extra info" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:255 +#: ../../content/applications/websites/ecommerce/checkout.rst:208 msgid "You can add an :guilabel:`Extra Info` step in the checkout process to collect additional customer information through an online form, which is then included in the :ref:`sales order `. To do so, :ref:`enable ` the :guilabel:`Extra Step` option in the website editor. The form can be :ref:`customized ` as needed." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:264 +#: ../../content/applications/websites/ecommerce/checkout.rst:217 msgid "Payment" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:266 +#: ../../content/applications/websites/ecommerce/checkout.rst:219 msgid "At the :guilabel:`Payment` step, customers can :guilabel:`Choose a payment method`, enter their payment details, and click :guilabel:`Pay now`." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:269 +#: ../../content/applications/websites/ecommerce/checkout.rst:222 msgid "To make payment methods available to customers, configure and enable one or more :doc:`payment provider(s) `. To do so, go to :menuselection:`Website --> Configuration --> Payment Providers`, :guilabel:`Activate` the relevant payment provider, and :ref:`configure ` it." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:275 +#: ../../content/applications/websites/ecommerce/checkout.rst:228 msgid "The options displayed at checkout depend on the active payment providers, the enabled :ref:`payment methods `, the :ref:`customer’s country and currency `, and, optionally, the :ref:`maximum amount ` set for the provider." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:280 +#: ../../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." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:286 +#: ../../content/applications/websites/ecommerce/checkout.rst:239 msgid "Terms and conditions" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:288 +#: ../../content/applications/websites/ecommerce/checkout.rst:241 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:293 +#: ../../content/applications/websites/ecommerce/checkout.rst:246 msgid "eWallets and gift cards" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:295 +#: ../../content/applications/websites/ecommerce/checkout.rst:248 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 "" @@ -609,15 +636,15 @@ msgstr "" msgid "Gift card and eWallet options at checkout" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:307 +#: ../../content/applications/websites/ecommerce/checkout.rst:260 msgid "Order confirmation" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:309 +#: ../../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." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:313 +#: ../../content/applications/websites/ecommerce/checkout.rst:266 msgid ":doc:`Order handling documentation `" msgstr "" @@ -627,43 +654,151 @@ msgid "Customer accounts" msgstr "" #: ../../content/applications/websites/ecommerce/customer_accounts.rst:5 -msgid "Having customer accounts on an eCommerce allows customers to access all their documents from a single place. To access their account, customers must be **logged-in** on the eCommerce website, click on their **username** in the top-right corner of the screen, and click :guilabel:`My Account`. From there, customers can access their :guilabel:`quotations`, :guilabel:`orders`, :guilabel:`invoices`, etc." +msgid "Using customer accounts for an ecommerce shop enables you to :ref:`manage customers `, control access to the :ref:`shop `, the :ref:`checkout `, or the :ref:`customer portal `, and support both :doc:`B2B and B2C operations `." msgstr "" -#: ../../content/applications/websites/ecommerce/customer_accounts.rst:-1 -msgid "Customer account log-in" +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:11 +msgid "After logging in, customers can access their :doc:`customer portal <../../general/users/portal>` by clicking their username in the top-right corner of the screen and selecting :guilabel:`My Account`. From there, they can view all their documents in one place, such as quotations, orders, invoices, and more." msgstr "" -#: ../../content/applications/websites/ecommerce/customer_accounts.rst:16 -msgid "Customers can only have an account if the :ref:`sign in/up at checkout ` option allows for account creation." +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:-1 +msgid "Customer account access" msgstr "" #: ../../content/applications/websites/ecommerce/customer_accounts.rst:20 -msgid "Similarly to the rest of the website, the customer account page can be customized with **content blocks** and other features through the **website builder**." +msgid "The customer account page can be customized with building blocks and other features through the :doc:`website builder <../website/web_design>`." msgstr "" -#: ../../content/applications/websites/ecommerce/customer_accounts.rst:24 -msgid ":doc:`/applications/general/users/portal`" +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:26 +msgid "Customer account creation" msgstr "" -#: ../../content/applications/websites/ecommerce/customer_accounts.rst:27 +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:28 +msgid "You can choose whether customer accounts and document access are available to everyone or restricted to invited users only. To do so, go to :menuselection:`Website --> Configuration --> Settings`, and navigate to the :guilabel:`General` section. Under :guilabel:`Customer Account`, select one of the following options:" +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:33 +msgid ":guilabel:`On invitation`: Customers can only create an account if the website owner sends them an invitation." +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:35 +msgid ":guilabel:`Free sign up`: Every website visitor can create an account and sign in. They will get access to the :doc:`portal <../../general/users/portal>` by default." +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:40 +msgid "To send an email invitation to a customer:" +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:42 +msgid "Go to :menuselection:`Website --> eCommerce --> Customers`." +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:43 +msgid "Select a customer or click :guilabel:`New` to create one, ensuring an :guilabel:`Email` address is set." +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:45 +msgid "Click the :icon:`fa-cog` :guilabel:`(Actions)` icon next to the record's name at the top-left and select :guilabel:`Grant portal access`." +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:47 +msgid "In the :guilabel:`Portal Access Management` pop-up, click :guilabel:`Grant Access` to send the invitation." +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:51 +msgid "To invite multiple customers at once, switch to the customers :icon:`oi-view-list` :guilabel:`List` view, select several customers, click the :icon:`fa-cog` :guilabel:`Actions` button, and select :guilabel:`Grant portal access`." +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:55 +msgid "Once done, the customer(s) receive an email confirming their account creation, including instructions on setting a password and activating their account." +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:59 +msgid "When selecting the :guilabel:`Free sign up`, a clickable :guilabel:`Don't have an account?` link appears under the login form on the website." +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:61 +msgid "The :guilabel:`On invitation` option is especially useful for :ref:`B2B ` businesses that prefer to keep :ref:`prices hidden ` on the website and grant access only to invited customers." +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:66 +msgid "It is possible to configure a website form with a :guilabel:`Create a Customer` :ref:`action ` to automatically create a customer record in the backend when filled in." +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:71 msgid "Access restriction" msgstr "" -#: ../../content/applications/websites/ecommerce/customer_accounts.rst:29 -msgid "It is possible to allow or restrict the documents to which customers have access through the website builder. Log in your **own** account with your Odoo database credentials, and go to :menuselection:`Edit --> Customize`. From the website builder menu, enable or disable the documents customers can have access to." +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:73 +msgid "Once a customer account is created, it is still possible to adjust the access rights either globally or for individual users:" msgstr "" -#: ../../content/applications/websites/ecommerce/customer_accounts.rst:-1 -msgid "Documents to which customers have access to from their account" +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:76 +msgid ":ref:`Revoke access or re-invite a customer ` using the related buttons in the :guilabel:`Portal Access Management` pop-up." +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:78 +msgid "Restrict :ref:`access to the shop `;" +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:79 +msgid "Decide whether customers need to create an account to :ref:`complete the checkout `." +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:83 +msgid "It is also possible to define the types of documents customers have access to. To do so, click your username in the upper-right corner of the website, select :guilabel:`My Account` and open the :doc:`website builder <../website/web_design>`. On the :guilabel:`Style` tab, enable or disable access to specific documents as needed." +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:91 +msgid "Shop access" +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:93 +msgid "To restrict access to the entire online shop for users who are not logged-in, go to :menuselection:`Website --> Configuration --> Settings`, scroll to the :guilabel:`eCommerce` section and under :guilabel:`Ecommerce Access`, select :guilabel:`Logged in users`. Select :guilabel:`All users` if the shop should be visible to every website visitor." +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:99 +msgid "To restrict access to the shop's pricing, use :ref:`pricelists ` with :ref:`country groups `." +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:105 +msgid "Checkout access" +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:107 +msgid "To allow customers to checkout as guests or force them to sign in/create an account, go to :menuselection:`Website --> Configuration --> Settings`, scroll down to the :guilabel:`eCommerce` section, and configure the :guilabel:`Sign in/up at checkout` setting. The following options are available:" +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:112 +msgid ":guilabel:`Optional`: Customers can check out as guests and register later via the order confirmation email to track their order." +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:114 +msgid ":guilabel:`Disabled`: Customers can checkout as guests without creating an account." msgstr "" -#: ../../content/applications/websites/ecommerce/customer_accounts.rst:39 +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:115 +msgid ":guilabel:`Mandatory`: Customers must sign in or create an account at the :ref:`Order summary ` step to complete their purchase." +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:119 +msgid "Settings are specific to each website, allowing you to configure a B2C website with guest checkout and a B2B website that requires customers to sign in." +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." +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:127 msgid "Multi-website account" msgstr "" -#: ../../content/applications/websites/ecommerce/customer_accounts.rst:41 -msgid "If you own multiple websites, you can make customer accounts available across **all** websites. Then, the customer only needs one account. To do so, go to :menuselection:`Website --> Configuration --> Settings --> Privacy section`, and enable :guilabel:`Shared Customer Accounts`." +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:129 +msgid "When managing multiple websites, it is possible to make customer accounts available across *all* websites, allowing each customer to use a single account. To do so, go to :menuselection:`Website --> Configuration --> Settings`, in the :guilabel:`General` section, enable the :guilabel:`Shared Customer Accounts` option." +msgstr "" + +#: ../../content/applications/websites/ecommerce/customer_accounts.rst:135 +msgid "When operating both :ref:`B2B and B2C online shops `, it is recommended to use separate websites for each business model." msgstr "" #: ../../content/applications/websites/ecommerce/google_merchant_center.rst:3 @@ -703,110 +838,106 @@ msgid "Click :guilabel:`Continue`, then click :guilabel:`Continue to Merchant Ce msgstr "" #: ../../content/applications/websites/ecommerce/google_merchant_center.rst:29 -msgid "Enter your business details by adding the :guilabel:`Business name` and the :guilabel:`Registered country`, then click the :guilabel:`Continue to Merchant Center` button twice." +msgid "Enter your business details by adding the :guilabel:`Business name` and the :guilabel:`Registered country`, then click the :guilabel:`Continue to Merchant Center` button." msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:32 +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:31 msgid "Add the relevant information and click :guilabel:`Continue`, or click :guilabel:`Do it later` to skip this step for now." msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:34 +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:33 msgid "Go to the :guilabel:`Business info` tab in the left menu, and click :guilabel:`Confirm online store`." msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:36 +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:35 msgid "`Verify your website's ownership `_ in one of the following ways:" msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:39 +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:38 msgid "Via :ref:`HTML tag ` or :ref:`HTML file `" msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:41 +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:40 msgid "Via :ref:`Google Tag Manager `" msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:42 +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:41 msgid "Via :ref:`Google Analytics `" msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:45 +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:44 msgid "You can also verify your website's ownership from Google Merchant Center's dashboard by navigating to :menuselection:`Settings --> Business Info` in the left menu." msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:48 +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:47 msgid "Return to :abbr:`GMC (Google Merchant Center)`, click :guilabel:`Verify your online store`, and :guilabel:`Continue`." msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:52 +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:51 msgid "`Google Merchant Center Help `_" msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:55 +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:56 msgid "Linking Odoo to GMC" msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:58 -msgid "To activate the :abbr:`GMC (Google Merchant Center)` integration in your Odoo database, at least one :ref:`pricelist ` must be assigned to your website." +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:59 +msgid "To use the :abbr:`GMC (Google Merchant Center)` integration in your Odoo database, at least one :ref:`pricelist ` must be assigned to the website." msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:61 -msgid "Navigate to :menuselection:`Website --> Configuration --> Settings`, scroll to the :guilabel:`SEO - Search Engine Optimization` section, and enable :guilabel:`Google Merchant Center Data Source`." -msgstr "" - -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:64 -msgid "Click the :guilabel:`Copy file link`, then :guilabel:`Save`." +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:62 +msgid "Navigate to :menuselection:`Website --> Configuration --> Settings`, scroll to the :guilabel:`Tracking & SEO` section, and enable :guilabel:`Google Merchant Center`, and :guilabel:`Save`." msgstr "" #: ../../content/applications/websites/ecommerce/google_merchant_center.rst:67 -msgid "By enabling the :guilabel:`Google Merchant Center Data Source` option, your website will generate a dynamic `/gmc.xml` feed containing essential product information and availability. This feed can be :ref:`customized ` to include multiple languages and pricelists, ensuring your products are displayed correctly for different regions and audiences." +msgid "By enabling the :guilabel:`Google Merchant Center` option, your website will generate a dynamic `/gmc.xml` feed containing essential product information and availability." msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:73 -msgid "Go to the :abbr:`GMC (Google Merchant Center)` dashboard, navigate to the :menuselection:`Your business --> Products` tab in the left menu, and click :guilabel:`Add products`." +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:70 +msgid "Click :guilabel:`Manage feeds`." msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:76 -msgid "Choose :guilabel:`Add products from a file` and paste the URL of the copied file." +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:71 +msgid "In the :guilabel:`Product Feeds` pop-up window, select a :ref:`pricelist `, a :ref:`language ` and :ref:`categories `, and :guilabel:`Save`." msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:79 -msgid "Make sure to select all the countries where you intend to sell your products. You are not able to proceed without selecting at least one target country. If necessary, enter a :guilabel:`feed label` as well." +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:76 +msgid "You must first enable the corresponding :doc:`language ` in the website's settings and/or create a :ref:`pricelist ` in the foreign currency with the :ref:`Selectable ` option enabled." msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:0 -msgid "Select countries in GMC." +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:81 +msgid "Once done, click :guilabel:`Copy URL` on the corresponding feed." msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:86 -msgid "Click :guilabel:`Continue`." +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:82 +msgid "Go to the :abbr:`GMC (Google Merchant Center)` dashboard, navigate to the :menuselection:`Products & store --> Products` tab in the left menu, and click :guilabel:`Add products`." msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:91 -msgid "Localized feeds" +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:85 +msgid "Choose :guilabel:`Add products from a file` and paste the URL of the copied file." msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:94 -msgid "Languages/regions" +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:88 +msgid "Make sure to select all the countries where you intend to sell your products. You are not able to proceed without selecting at least one target country. If necessary, enter a :guilabel:`feed label` as well." msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:96 -msgid "It is helpful to create language-specific feeds for each country/language you sell in. To add a new feed, go to :guilabel:`Products` on the :abbr:`GMC` dashboard, click :guilabel:`Add products`, and select :guilabel:`Add another product source` from the dropdown menu." +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:0 +msgid "Select countries, purpose and feed label in GMC." msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:101 -msgid "The selected :doc:`language ` must first be enabled in your website's settings." +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:95 +msgid "Click :guilabel:`Continue`." msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:105 -msgid "Currencies" +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:98 +msgid "Create as many feeds as needed, and on the :abbr:`GMC (Google Merchant Center)` dashboard, create several :guilabel:`Product sources`. To do so, expand the :icon:`fa-caret-down` :guilabel:`Products & store` menu, go to :guilabel:`Products`, click the :icon:`fa-caret-down` :guilabel:`Add products` dropdown menu, and select :guilabel:`Add another product source`." msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:107 -msgid "It is also possible to create different feeds for different currencies, which allows customers to view prices in their local currency. To enable this feature, create a :ref:`pricelist ` with the foreign currency in Odoo. Then, go to the :guilabel:`Products` tab in :abbr:`GMC`, click :guilabel:`Manage product sources`, and choose a :guilabel:`Products source`. Navigate to the :guilabel:`Data source setup` tab, click :guilabel:`Show advanced options`, and choose a :guilabel:`Currency`." +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:102 +msgid "To manually change the currency of the feed, go to the :guilabel:`Products` tab in :abbr:`GMC (Google Merchant Center)`, click :guilabel:`Manage product sources`, and choose a :guilabel:`Products source`. Navigate to the :guilabel:`Data source setup` tab, click :guilabel:`Show advanced options`, and choose a :guilabel:`Currency`." msgstr "" -#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:116 +#: ../../content/applications/websites/ecommerce/google_merchant_center.rst:108 msgid "`Google Merchant Center Product Feed Specifications `_." msgstr "" @@ -943,7 +1074,7 @@ msgid "Invoice and legal requirements" msgstr "" #: ../../content/applications/websites/ecommerce/order_handling.rst:106 -msgid "The final step of an ecommerce order is to generate the invoice and send it to the customer. Depending on the type of business (B2B or B2C), an invoice can either be generated automatically (B2B) or on demand of the customer (B2C). This process can be automated if (and when) the online payment is :ref:`confirmed `." +msgid "The final step of an ecommerce order is to generate the invoice and send it to the customer. Depending on your needs, an invoice can either be generated automatically or on demand of the customer. This process can be automated if (and when) the online payment is :ref:`confirmed `." msgstr "" #: ../../content/applications/websites/ecommerce/order_handling.rst:111 @@ -1127,135 +1258,135 @@ msgstr "" msgid "Click the :guilabel:`Go to Website` smart button to return to the frontend product's page." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:90 +#: ../../content/applications/websites/ecommerce/products.rst:92 msgid "Product presentation" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:92 +#: ../../content/applications/websites/ecommerce/products.rst:94 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:98 +#: ../../content/applications/websites/ecommerce/products.rst:100 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:100 +#: ../../content/applications/websites/ecommerce/products.rst:102 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:102 +#: ../../content/applications/websites/ecommerce/products.rst:104 msgid "Use the :guilabel:`Customize` tab to modify the page layout or add features:" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:104 +#: ../../content/applications/websites/ecommerce/products.rst:106 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:108 +#: ../../content/applications/websites/ecommerce/products.rst:110 msgid ":guilabel:`Customers`:" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:110 +#: ../../content/applications/websites/ecommerce/products.rst:112 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:116 +#: ../../content/applications/websites/ecommerce/products.rst:118 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:119 +#: ../../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." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:122 -msgid ":guilabel:`Tax Indication`: Toggle the switch to indicate if the price is :ref:`VAT included or excluded `." +#: ../../content/applications/websites/ecommerce/products.rst:124 +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:125 +#: ../../content/applications/websites/ecommerce/products.rst:127 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:129 +#: ../../content/applications/websites/ecommerce/products.rst:131 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:132 +#: ../../content/applications/websites/ecommerce/products.rst:134 msgid ":guilabel:`Cart`:" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:134 +#: ../../content/applications/websites/ecommerce/products.rst:136 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:136 +#: ../../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." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:138 +#: ../../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." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:141 +#: ../../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`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:148 +#: ../../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." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:152 +#: ../../content/applications/websites/ecommerce/products.rst:154 msgid "Enabled functions apply to all product pages." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:153 +#: ../../content/applications/websites/ecommerce/products.rst:155 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:159 +#: ../../content/applications/websites/ecommerce/products.rst:161 msgid "Product images and videos" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:161 +#: ../../content/applications/websites/ecommerce/products.rst:163 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:168 +#: ../../content/applications/websites/ecommerce/products.rst:170 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:171 +#: ../../content/applications/websites/ecommerce/products.rst:173 msgid ":guilabel:`Images Width`: Changes the width of the product images displayed on the page." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:172 +#: ../../content/applications/websites/ecommerce/products.rst:174 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:175 +#: ../../content/applications/websites/ecommerce/products.rst:177 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:177 +#: ../../content/applications/websites/ecommerce/products.rst:179 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:180 +#: ../../content/applications/websites/ecommerce/products.rst:182 msgid ":guilabel:`Main Image`: Click :guilabel:`Replace` to change the product's main image." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:181 +#: ../../content/applications/websites/ecommerce/products.rst:183 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:185 +#: ../../content/applications/websites/ecommerce/products.rst:187 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:190 +#: ../../content/applications/websites/ecommerce/products.rst:192 msgid "Products block" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:192 +#: ../../content/applications/websites/ecommerce/products.rst:194 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 "" @@ -1263,90 +1394,90 @@ msgstr "" msgid "Example of a products block" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:198 +#: ../../content/applications/websites/ecommerce/products.rst:200 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:202 +#: ../../content/applications/websites/ecommerce/products.rst:204 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:205 +#: ../../content/applications/websites/ecommerce/products.rst:207 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:211 +#: ../../content/applications/websites/ecommerce/products.rst:213 msgid "Product variants" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:213 +#: ../../content/applications/websites/ecommerce/products.rst:215 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:217 +#: ../../content/applications/websites/ecommerce/products.rst:219 msgid "To configure product variants for a product:" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:219 +#: ../../content/applications/websites/ecommerce/products.rst:221 #: ../../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:220 +#: ../../content/applications/websites/ecommerce/products.rst:222 msgid "Scroll down to the :guilabel:`Shop - Products` section and enable the :guilabel:`Product Variants` feature." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:222 +#: ../../content/applications/websites/ecommerce/products.rst:224 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:227 +#: ../../content/applications/websites/ecommerce/products.rst:229 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:232 +#: ../../content/applications/websites/ecommerce/products.rst:234 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:234 +#: ../../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>`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:240 +#: ../../content/applications/websites/ecommerce/products.rst:242 msgid "Two attribute values are needed to make the filter visible." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:243 +#: ../../content/applications/websites/ecommerce/products.rst:245 msgid ":doc:`Product variants <../../sales/sales/products_prices/products/variants>`" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:248 +#: ../../content/applications/websites/ecommerce/products.rst:250 msgid "Digital files" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:250 +#: ../../content/applications/websites/ecommerce/products.rst:252 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:255 +#: ../../content/applications/websites/ecommerce/products.rst:257 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:260 +#: ../../content/applications/websites/ecommerce/products.rst:262 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:262 +#: ../../content/applications/websites/ecommerce/products.rst:264 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:268 +#: ../../content/applications/websites/ecommerce/products.rst:270 msgid "Digital files available before payment" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:270 +#: ../../content/applications/websites/ecommerce/products.rst:272 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 "" @@ -1354,103 +1485,103 @@ msgstr "" msgid "digital file available before payment on the product page" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:279 +#: ../../content/applications/websites/ecommerce/products.rst:281 msgid "Digital files available after payment" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:281 +#: ../../content/applications/websites/ecommerce/products.rst:283 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:287 +#: ../../content/applications/websites/ecommerce/products.rst:289 msgid "Translation" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:289 +#: ../../content/applications/websites/ecommerce/products.rst:291 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:293 +#: ../../content/applications/websites/ecommerce/products.rst:295 msgid "The eCommerce-related fields to translate are:" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:295 +#: ../../content/applications/websites/ecommerce/products.rst:297 msgid ":guilabel:`Product name`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:296 +#: ../../content/applications/websites/ecommerce/products.rst:298 msgid ":guilabel:`Out-of-Stock Message` (under the :guilabel:`Sales` tab)." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:297 +#: ../../content/applications/websites/ecommerce/products.rst:299 msgid ":guilabel:`Sales Description` (under the :guilabel:`Sales` tab)." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:300 +#: ../../content/applications/websites/ecommerce/products.rst:302 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:303 +#: ../../content/applications/websites/ecommerce/products.rst:305 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:309 +#: ../../content/applications/websites/ecommerce/products.rst:311 msgid "Website availability" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:311 +#: ../../content/applications/websites/ecommerce/products.rst:313 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:317 +#: ../../content/applications/websites/ecommerce/products.rst:319 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:323 +#: ../../content/applications/websites/ecommerce/products.rst:325 msgid "Stock management" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:325 +#: ../../content/applications/websites/ecommerce/products.rst:327 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:330 +#: ../../content/applications/websites/ecommerce/products.rst:332 msgid "The **Inventory** app must be installed to see the inventory management options." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:331 +#: ../../content/applications/websites/ecommerce/products.rst:333 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:335 +#: ../../content/applications/websites/ecommerce/products.rst:337 msgid "Inventory" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:337 +#: ../../content/applications/websites/ecommerce/products.rst:339 msgid "In the :guilabel:`Inventory Defaults` sub-section, fill in those fields:" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:339 +#: ../../content/applications/websites/ecommerce/products.rst:341 msgid ":doc:`Warehouse <../../inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses>`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:340 +#: ../../content/applications/websites/ecommerce/products.rst:342 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:342 +#: ../../content/applications/websites/ecommerce/products.rst:344 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:349 +#: ../../content/applications/websites/ecommerce/products.rst:351 msgid "Product comparison" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:351 +#: ../../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`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:355 +#: ../../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 "" @@ -1458,19 +1589,19 @@ msgstr "" msgid "Product comparison window" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:365 +#: ../../content/applications/websites/ecommerce/products.rst:367 msgid "The :guilabel:`Product Comparison Tool` is only available for products with :ref:`attributes `." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:367 +#: ../../content/applications/websites/ecommerce/products.rst:369 msgid "Selecting the :icon:`fa-exchange` (:guilabel:`Compare`) option from a product page is also possible." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:373 +#: ../../content/applications/websites/ecommerce/products.rst:375 msgid "Wishlists" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:375 +#: ../../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." msgstr "" @@ -1478,11 +1609,11 @@ msgstr "" msgid "Add to wishlist button" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:385 +#: ../../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 `." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:387 +#: ../../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 `." msgstr "" @@ -1766,10 +1897,6 @@ msgstr "" msgid "eCommerce categories can also be added as :ref:`mega menu items ` for quick access." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:258 -msgid "Additional features" -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 "" @@ -1786,313 +1913,424 @@ msgstr "" msgid ":icon:`fa-heart-o` (:guilabel:`Wishlist`): adds a button to :ref:`wishlist ` the product." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:274 -msgid ":doc:`Products <../products>`" +#: ../../content/applications/websites/ecommerce/products/catalog.rst:274 +msgid ":doc:`Products <../products>`" +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:3 +msgid "Cross-selling and upselling" +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:5 +msgid ":ref:`Cross-selling ` and :ref:`upselling ` are sales techniques designed to encourage customers to purchase additional or higher-priced products and services from your :doc:`catalog`." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:12 +msgid "Cross-selling" +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:14 +msgid "Cross-selling can be achieved by suggesting :ref:`optional products ` when items are added to the cart or by recommending :ref:`accessory products ` on the checkout page." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:21 +msgid "Optional products" +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:23 +msgid "**Optional products** are suggested when the customer selects a product and clicks :guilabel:`Add to cart`." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:26 +msgid "To enable **optional products**, go to :menuselection:`Website --> eCommerce --> Products`, select a product, go to the :guilabel:`Sales` tab, and enter the products you wish to feature in the :guilabel:`Optional Products` field." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:-1 +msgid "Optional products cross-selling" +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:36 +msgid "Accessory products" +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:38 +msgid "**Accessory products** are showcased in the :guilabel:`Suggested Accessories` section during the :guilabel:`Review Order` step, just before proceeding to checkout." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:41 +msgid "To enable **accessory products**, go to :menuselection:`Website --> eCommerce --> Products`, select a product, go to the :guilabel:`Sales` tab, and enter the products you wish to feature in the :guilabel:`Accessory Products` field." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:-1 +msgid "Suggested accessories at checkout during cart review" +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:51 +msgid "Upselling" +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:53 +msgid "You can display **alternative products** at the bottom of the product page as an upselling technique, encouraging customers to consider a more expensive variant or product than their initial choice by presenting appealing alternatives." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:-1 +msgid "Alternative products on the product page" +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:60 +msgid "To enable alternative products, navigate to :menuselection:`Website --> eCommerce --> Products`, select the desired product, and go to the :guilabel:`Sales` tab. In the :guilabel:`Alternative Products` field, add the products you want to feature." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:64 +msgid "Click :guilabel:`Go to Website` to view the alternative products displayed at the bottom of the product page." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:67 +msgid "To adjust the settings, click :guilabel:`Edit` and select the related :doc:`building block <../../website/web_design/building_blocks>`. In the :guilabel:`Customize` tab, scroll to the :guilabel:`Alternative Products` section and modify the settings as needed to tailor the display to your preferences." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/prices.rst:5 +msgid "Odoo offers multiple options to configure prices on the ecommerce. For example, you can apply :ref:`prices per unit `, offer :ref:`discounts `, and set up :ref:`pricelists `." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/prices.rst:12 +msgid "Taxes" +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/prices.rst:14 +msgid "To add a tax on a product, you can either set a tax in the :guilabel:`Sales Taxes` field of the product form or use :doc:`fiscal positions `." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/prices.rst:19 +msgid ":doc:`/applications/finance/accounting/taxes`" +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/prices.rst:20 +msgid ":doc:`/applications/finance/accounting/taxes/avatax`" +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/prices.rst:24 +msgid "Choosing the displayed price tax usually depends on a country's regulations or the type of customers (:doc:`B2B vs. B2C <../b2b_b2c>`). To select the type of price displayed, go to :menuselection:`Website --> Configuration --> Settings`, select the website, scroll down to the :guilabel:`eCommerce` section, and under :guilabel:`Display Product Prices` select between:" +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/prices.rst:29 +msgid ":guilabel:`Tax Excluded`: the price displayed on the website is tax-excluded, and the tax is computed at the :ref:`order summary ` step;" msgstr "" -#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:3 -msgid "Cross-selling and upselling" +#: ../../content/applications/websites/ecommerce/products/prices.rst:31 +msgid ":guilabel:`Tax Included`: the price displayed on the website is tax-included." msgstr "" -#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:5 -msgid ":ref:`Cross-selling ` and :ref:`upselling ` are sales techniques designed to encourage customers to purchase additional or higher-priced products and services from your :doc:`catalog`." +#: ../../content/applications/websites/ecommerce/products/prices.rst:34 +msgid "This setting is website-specific and can therefore be configured independently for every website in the database." msgstr "" -#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:12 -msgid "Cross-selling" +#: ../../content/applications/websites/ecommerce/products/prices.rst:38 +msgid "Switch the :ref:`Tax indication ` toggle on in the website editor to explicitly indicate if the price is `Tax excluded` or `Tax included` on the product page." msgstr "" -#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:14 -msgid "Cross-selling can be achieved by suggesting :ref:`optional products ` when items are added to the cart or by recommending :ref:`accessory products ` on the checkout page." +#: ../../content/applications/websites/ecommerce/products/prices.rst:41 +msgid "Enable specific :ref:`B2B fields ` in the :ref:`delivery step ` during the checkout using the :doc:`website editor `." msgstr "" -#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:21 -msgid "Optional products" +#: ../../content/applications/websites/ecommerce/products/prices.rst:48 +msgid "Price per unit" msgstr "" -#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:23 -msgid "**Optional products** are suggested when the customer selects a product and clicks :guilabel:`Add to cart`." +#: ../../content/applications/websites/ecommerce/products/prices.rst:50 +msgid "To display a :doc:`price per unit ` alongside the sales price on the product page, follow these steps:" msgstr "" -#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:26 -msgid "To enable **optional products**, go to :menuselection:`Website --> eCommerce --> Products`, select a product, go to the :guilabel:`Sales` tab, and enter the products you wish to feature in the :guilabel:`Optional Products` field." +#: ../../content/applications/websites/ecommerce/products/prices.rst:54 +msgid "Go to :menuselection:`Website --> Configuration --> Settings`, scroll to the :guilabel:`eCommerce` section, and enable :guilabel:`Product Reference Price`." msgstr "" -#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:-1 -msgid "Optional products cross-selling" +#: ../../content/applications/websites/ecommerce/products/prices.rst:56 +msgid ":ref:`Navigate to the product form `." msgstr "" -#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:36 -msgid "Accessory products" +#: ../../content/applications/websites/ecommerce/products/prices.rst:57 +msgid "Set the product's :guilabel:`Sales Price` and select the unit (e.g., :guilabel:`Units`)." msgstr "" -#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:38 -msgid "**Accessory products** are showcased in the :guilabel:`Suggested Accessories` section during the :guilabel:`Review Order` step, just before proceeding to checkout." +#: ../../content/applications/websites/ecommerce/products/prices.rst:58 +msgid "In the :guilabel:`Base Unit Count` field, enter the number of units in the product, then select the relevant unit from the dropdown list." msgstr "" -#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:41 -msgid "To enable **accessory products**, go to :menuselection:`Website --> eCommerce --> Products`, select a product, go to the :guilabel:`Sales` tab, and enter the products you wish to feature in the :guilabel:`Accessory Products` field." +#: ../../content/applications/websites/ecommerce/products/prices.rst:62 +msgid "Imagine you want to sell a 2-liter bucket of paint for $60, i.e., $30 per liter." msgstr "" -#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:-1 -msgid "Suggested accessories at checkout during cart review" +#: ../../content/applications/websites/ecommerce/products/prices.rst:0 +msgid "Cost per unit pricing on the product form." msgstr "" -#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:51 -msgid "Upselling" +#: ../../content/applications/websites/ecommerce/products/prices.rst:67 +msgid "The price per units, in this case per liter, is shown next to the sales price on the product page." msgstr "" -#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:53 -msgid "You can display **alternative products** at the bottom of the product page as an upselling technique, encouraging customers to consider a more expensive variant or product than their initial choice by presenting appealing alternatives." +#: ../../content/applications/websites/ecommerce/products/prices.rst:0 +msgid "Unit pricing on the product page." msgstr "" -#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:-1 -msgid "Alternative products on the product page" +#: ../../content/applications/websites/ecommerce/products/prices.rst:74 +msgid "The price per unit may be mandatory in some countries." msgstr "" -#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:60 -msgid "To enable alternative products, navigate to :menuselection:`Website --> eCommerce --> Products`, select the desired product, and go to the :guilabel:`Sales` tab. In the :guilabel:`Alternative Products` field, add the products you want to feature." +#: ../../content/applications/websites/ecommerce/products/prices.rst:77 +msgid ":doc:`/applications/inventory_and_mrp/inventory/product_management/configure/uom`" msgstr "" -#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:64 -msgid "Click :guilabel:`Go to Website` to view the alternative products displayed at the bottom of the product page." +#: ../../content/applications/websites/ecommerce/products/prices.rst:82 +msgid "Pricelists" msgstr "" -#: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:67 -msgid "To adjust the settings, click :guilabel:`Edit` and select the related :doc:`building block <../../website/web_design/building_blocks>`. In the :guilabel:`Customize` tab, scroll to the :guilabel:`Alternative Products` section and modify the settings as needed to tailor the display to your preferences." +#: ../../content/applications/websites/ecommerce/products/prices.rst:84 +msgid "Pricelists in Odoo allow to manage flexible pricing rules and to offer different prices and discounts based on currencies, time periods, purchase volumes, :ref:`customers' location `, and/or customer type. To enable pricelists for eCommerce, go to :menuselection:`Website --> Configuration --> Settings`, scroll down to the :guilabel:`eCommerce` section, enable :guilabel:`Pricelists`, and :guilabel:`Save`. Then, click :guilabel:`Pricelists` or go to :menuselection:`Website --> eCommerce --> Pricelists` and :ref:`configure ` the relevant pricelists." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:3 -msgid "Price management" +#: ../../content/applications/websites/ecommerce/products/prices.rst:93 +msgid "In the :guilabel:`Ecommerce` tab, configure options specific to online sales, such as assigning a :guilabel:`Website` to a pricelist, allowing customers to :ref:`select it `, and/or adding an :ref:`E-commerce Promotional Code `." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:5 -msgid "Odoo offers multiple options to select the prices displayed on a website, as well as condition-specific prices based on set criteria." +#: ../../content/applications/websites/ecommerce/products/prices.rst:99 +msgid "If you are using several websites and you want to use the same pricelist on several of them, you need to duplicate the pricelist for each website. If you do not assign any website, the pricelist will not be used, unless it is :ref:`selectable `." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:9 -msgid "Taxes" +#: ../../content/applications/websites/ecommerce/products/prices.rst:103 +msgid "Pricelists can also be :ref:`assigned to a specific customer `." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:12 -msgid "Tax configuration" +#: ../../content/applications/websites/ecommerce/products/prices.rst:107 +msgid "When pricelists are enabled in the Sales app, they are automatically enabled in the eCommerce app, and vice versa." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:14 -msgid "To add a tax on a product, you can either set a tax in the :guilabel:`Customer Taxes` field of the **product template** or use :doc:`fiscal positions `." +#: ../../content/applications/websites/ecommerce/products/prices.rst:109 +msgid "In the list of pricelists, order the pricelists by priority: the first takes precedence over the second, the second over the third, and so on." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:19 -msgid ":doc:`/applications/finance/accounting/taxes`" +#: ../../content/applications/websites/ecommerce/products/prices.rst:111 +msgid "It is also possible to create specific pricelists for :ref:`variants `." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:20 -msgid ":doc:`/applications/finance/accounting/taxes/avatax`" +#: ../../content/applications/websites/ecommerce/products/prices.rst:115 +msgid ":doc:`/applications/sales/sales/products_prices/prices/pricing`" msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:21 -msgid ":doc:`/applications/finance/accounting/taxes/fiscal_positions`" +#: ../../content/applications/websites/ecommerce/products/prices.rst:120 +msgid "Selectable pricelists" msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:26 -msgid "Tax display" +#: ../../content/applications/websites/ecommerce/products/prices.rst:122 +msgid "Selectable pricelists are useful, for example, when selling products in :doc:`multiple currencies ` and allow customers to choose a pricelist using the catalog's pricelist selector located next to the :ref:`search bar `." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:28 -msgid "Choosing the displayed price tax usually depends on a country's regulations or the type of customers **(B2B vs. B2C)**. To select the type of price displayed, go to :menuselection:`Website --> Configuration --> Settings`, scroll down to the :guilabel:`Shop - Products` category, and select :guilabel:`Tax Excluded` or :guilabel:`Tax Included`." +#: ../../content/applications/websites/ecommerce/products/prices.rst:-1 +msgid "Pricelist selector on the ecommerce." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:33 -msgid ":guilabel:`Tax Excluded`: the price displayed on the website is **tax-excluded**, and the tax is computed at the cart-review step;" +#: ../../content/applications/websites/ecommerce/products/prices.rst:130 +msgid "To make a pricelist selectable, enable :guilabel:`Selectable`." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:35 -msgid ":guilabel:`Tax Included`: the price displayed on the website is **tax-included**." +#: ../../content/applications/websites/ecommerce/products/prices.rst:133 +msgid "If a pricelist is designated as :guilabel:`Selectable`, and is not assigned to a specific website, then the pricelist is selectable on **all** websites." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:38 -msgid "This setting is website specific, and therefore can be altered for each website within a database." +#: ../../content/applications/websites/ecommerce/products/prices.rst:135 +msgid "If a pricelist does *not* appear in the selector, it may be due to the following situations:" msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:41 -msgid "To display the type of pricing next to the product price, navigate to :menuselection:`Website --> Site --> Homepage --> Shop`, select a product, then click :guilabel:`Edit` and, in the :guilabel:`Customize` tab, enable :guilabel:`Tax Indication`." +#: ../../content/applications/websites/ecommerce/products/prices.rst:137 +msgid "Only one pricelist is defined as :guilabel:`Selectable` and the :ref:`contact has a pricelist assigned `." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:-1 -msgid "Tax type displayed on the product page." +#: ../../content/applications/websites/ecommerce/products/prices.rst:139 +msgid "Multiple selectable pricelists exist, but only those matching the customer's :ref:`country group ` are shown. It is strongly recommended to disable the :guilabel:`Selectable` option when using pricelists with country groups on the ecommerce." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:49 -msgid ":doc:`/applications/finance/accounting/taxes/B2B_B2C`" +#: ../../content/applications/websites/ecommerce/products/prices.rst:145 +msgid ":ref:`sales/products/currencies/currency-specific-pricelists`" msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:52 -msgid "Price per unit" +#: ../../content/applications/websites/ecommerce/products/prices.rst:150 +msgid "GeoIP & country groups" msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:54 -msgid "It is possible to display a :doc:`price per unit <../../../inventory_and_mrp/inventory/product_management/configure/uom>` on the product page. To do that, go to :menuselection:`Website --> Configuration --> Settings` and enable :guilabel:`Product Reference Price` under the :guilabel:`Shop - Products` section. When enabled, ensure an amount is set in the :guilabel:`Base Unit Count` field of the product template, and in the :guilabel:`Sales Price` field." +#: ../../content/applications/websites/ecommerce/products/prices.rst:152 +msgid "It is possible to display a specific pricelist based on the visitor's location and IP address by assigning :ref:`country groups ` to pricelists." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:-1 -msgid "Cost per unit pricing on the product template." +#: ../../content/applications/websites/ecommerce/products/prices.rst:157 +msgid "To do so, :ref:`navigate to the relevant pricelist form ` and select the appropriate :guilabel:`Country Groups`. Create or edit as many pricelists for specific regions as needed. For instance, select :guilabel:`European Union` to apply the pricelist to all EU member states." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:64 -msgid "The price per unit of measure can be found above the :guilabel:`Add to Cart` button on the product page." +#: ../../content/applications/websites/ecommerce/products/prices.rst:162 +msgid "To create a new country group, click :guilabel:`Search more` in the dropdown list, then :guilabel:`New`. Add a :guilabel:`Group Name` and select the relevant :guilabel:`Countries`. Use :ref:`Custom filters ` if needed." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:-1 -msgid "Cost per unit pricing on the product page." +#: ../../content/applications/websites/ecommerce/products/prices.rst:167 +msgid "Each country group must contain at least one country." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:71 -msgid "Pay attention that having the price per unit may be **mandatory** in some countries." +#: ../../content/applications/websites/ecommerce/products/prices.rst:170 +msgid "Use the following filter if you want to add all non-EU countries to the country group." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:74 -msgid ":doc:`../../../inventory_and_mrp/inventory/product_management/configure/uom`" +#: ../../content/applications/websites/ecommerce/products/prices.rst:172 +msgid "`Country Groups` + `is not equal to` + `European Union`" msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:79 -msgid "Pricelists" +#: ../../content/applications/websites/ecommerce/products/prices.rst:0 +msgid "Filter for country group creation." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:81 -msgid "Pricelists are the primary tool to manage prices on an eCommerce website. They make it possible to define website-specific prices - different from the price on the product template - based on the country group, currency, minimum quantity, period, or variant." +#: ../../content/applications/websites/ecommerce/products/prices.rst:178 +msgid "When using GeoIP to determine the appropriate pricelist, **all** pricelists used on the ecommerce must have a country group assigned." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:86 -#: ../../content/applications/websites/ecommerce/products/price_management.rst:180 -msgid ":doc:`/applications/sales/sales/products_prices/prices/pricing`" +#: ../../content/applications/websites/ecommerce/products/prices.rst:180 +msgid "It is strongly recommended to disable the :guilabel:`Selectable` option when using pricelists with country groups. Indeed, all pricelists with the relevant country group are automatically applied to the catalog but if one of them is marked as :ref:`Selectable `, the others will disappear as soon as customers select the selectable pricelist." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:89 -msgid "Understanding default pricelists" +#: ../../content/applications/websites/ecommerce/products/prices.rst:187 +msgid "Imagine you create three pricelists:" msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:91 -msgid "The concept of a default pricelist in Odoo depends on the application being used. In the **Sales** app, a customer's default pricelist is determined by their contact profile. If a pricelist is manually assigned to a contact, the pricelist becomes their default. If no pricelist is assigned, the default is the first pricelist listed." +#: ../../content/applications/websites/ecommerce/products/prices.rst:189 +msgid "`EU regular prices` with the `EU` country group assigned" msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:96 -msgid "In the **eCommerce** app,the default pricelist is assigned at the website level. However, it is influenced by the user's login status and country group settings." +#: ../../content/applications/websites/ecommerce/products/prices.rst:190 +msgid "`EU prices with discounts` with the `EU` country group assigned" msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:100 -msgid "How pricelists are applied in eCommerce" +#: ../../content/applications/websites/ecommerce/products/prices.rst:191 +msgid "`US prices` with the `US` country group assigned" msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:102 -msgid "If a portal user has a specific pricelist assigned to their contact profile, that pricelist is applied to their purchase. However, if that pricelist is **not** assigned to the website they are visiting, the user sees the website's default pricelist." +#: ../../content/applications/websites/ecommerce/products/prices.rst:193 +msgid "If the :guilabel:`Selectable` option is enabled for `EU regular prices` and `US prices`, and the customer is from the European Union, only the pricelists `EU regular prices` and `EU prices with discounts` will be available. However, since the `EU prices with discount` list is not selectable, it will disappear once the customer selects the `EU regular prices` list and prices will be displayed based on the `EU regular prices` pricelist on the catalog." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:107 -msgid "The default website pricelist is the first available pricelist assigned to a website, without the country group setting configured." +#: ../../content/applications/websites/ecommerce/products/prices.rst:201 +msgid "Pricelist application" msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:110 -msgid "Public, non-logged in users, see the website's default pricelist." +#: ../../content/applications/websites/ecommerce/products/prices.rst:203 +msgid "On the ecommerce, the *default* pricelist is automatically selected for public, non-logged in users when no country group is assigned. If :ref:`GeoIP and country groups ` are used, public users see the pricelist of their country group by default. :ref:`Logged-in users ` with :ref:`assigned pricelists ` see the assigned pricelist by default **if it is assigned to the website** they are visiting. If not, the website's default pricelist is applied (i.e., the first available pricelist assigned to the website and without a country group, following the sequence order)." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:112 -msgid "If a pricelist includes a country group, Odoo checks the visitor's IP address and applies the corresponding pricelist. If a visitor has a pricelist assigned in their contact profile, that pricelist takes precedence over the country-based pricelist, unless the assigned pricelist has a different country group." +#: ../../content/applications/websites/ecommerce/products/prices.rst:212 +msgid "Assigned pricelists take precedence over country-based pricelists, when applicable, unless the assigned pricelist is linked to a different country group." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:118 +#: ../../content/applications/websites/ecommerce/products/prices.rst:216 msgid "A customer from the United States visits the website. They do not have a portal account. The :guilabel:`United States` pricelist is applied." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:121 -msgid "A different visitor, also from the United States, has the :guilabel:`Loyal Customer Discount` pricelist assigned in their contact record. This assignment takes precedence over the country group assignation, so the :guilabel:`Loyal Customer Discount` is applied." +#: ../../content/applications/websites/ecommerce/products/prices.rst:219 +msgid "A different visitor, also from the United States, has the :guilabel:`Loyal Customer Discount` pricelist assigned in their contact form. This assignment takes precedence over the country group assignation, so the :guilabel:`Loyal Customer Discount` is applied." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:0 +#: ../../content/applications/websites/ecommerce/products/prices.rst:0 msgid "An example of various pricelists assigned to a website." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:129 -msgid "Pricelist configuration" +#: ../../content/applications/websites/ecommerce/products/prices.rst:230 +msgid "Discounts" msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:131 -msgid "To activate pricelists, navigate to :menuselection:`Website --> Configuration --> Settings`, scroll down to the :guilabel:`Shop - Products` section, enable the :guilabel:`Pricelist` feature, then click :guilabel:`Save`. Once pricelists have been activated, go to :menuselection:`Website --> eCommerce --> Pricelists` to configure them." +#: ../../content/applications/websites/ecommerce/products/prices.rst:233 +msgid "Discounts programs" msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:137 -msgid "Preventing sales if price is zero" +#: ../../content/applications/websites/ecommerce/products/prices.rst:235 +msgid "To enable :doc:`discount programs ` for your ecommerce, go to :menuselection:`Website --> Configuration --> Settings`, scroll down to the :guilabel:`eCommerce` section, and enable the :guilabel:`Discounts, Loyalty & Gift Card` feature." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:139 -msgid "The :guilabel:`Prevent Sale of Zero Priced Product` feature prevents customers from purchasing a product if the sales price is listed as `0`. When this feature is enabled, instead of seeing :guilabel:`Add to Cart` when attempting to purchase a product, they see :guilabel:`Contact Us`. This feature is useful for companies that want to hide the prices of their products." +#: ../../content/applications/websites/ecommerce/products/prices.rst:240 +msgid ":ref:`Configure ` the discount program, make sure the :guilabel:`Website` option is enabled, and add the relevant :ref:`Pricelist ` and :guilabel:`Website` on the program form, if needed." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:144 -msgid "To utilize this feature, first navigate to :menuselection:`Website --> Configuration --> Settings` and tick the :guilabel:`Prevent Sale of Zero Priced Product` checkbox, then click :guilabel:`Save`." +#: ../../content/applications/websites/ecommerce/products/prices.rst:247 +msgid "Permanent product discount" msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:147 -msgid "Next, create a pricelist that sets all product prices to `0`. Ensure the pricelist is assigned to the correct website and is listed first among the website's pricelists." +#: ../../content/applications/websites/ecommerce/products/prices.rst:249 +msgid "If the price of a specific product has been permanently reduced, the strikethrough strategy is commonly used. This involves showing the new discounted price, with the original price crossed out alongside it." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:151 -msgid "Selectable pricelists" +#: ../../content/applications/websites/ecommerce/products/prices.rst:-1 +msgid "Price strikethrough." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:153 -msgid "*Selectable pricelists* appear in the shop page's pricelist drop-down menu. When a pricelist is designated as :guilabel:`Selectable`, it allows the customer to choose between available pricelists." +#: ../../content/applications/websites/ecommerce/products/prices.rst:256 +msgid "To display a permanently discounted price, navigate to :menuselection:`Website --> Configuration --> Settings`, scroll down to the :guilabel:`eCommerce`, enable the :guilabel:`Comparison Price` option, and :guilabel:`Save`. Then, :ref:`go to the product form `, enter the new (discounted) price in the :guilabel:`Sales Price` field and the original one (strikethrough) in the :guilabel:`Compare to Price` field." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:157 -msgid "If a pricelist is designated as :guilabel:`Selectable`, and is not assigned to a specific website, then the pricelist is selectable on **all** websites." +#: ../../content/applications/websites/ecommerce/products/prices.rst:264 +msgid "The :guilabel:`Compare to Price` field must contain a price that is higher than the :guilabel:`Sales Price` for the original price to appear with a strikethrough." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:160 -msgid "If a pricelist is designated as :guilabel:`Selectable`, it appears in the drop-down menu next to the search bar. However, if a pricelist does *not* appear in the drop-down menu, it may be for one of the following reasons:" +#: ../../content/applications/websites/ecommerce/products/prices.rst:268 +msgid "The :guilabel:`Compare to Price` is not displayed if discounted pricelists apply. If you want to use the :guilabel:`Compare to price` with another discount, configure a pricelist with a :ref:`promotional code `." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:164 -msgid "If there is only one selectable pricelist, and the contact is assigned a pricelist, the drop-down may not appear." +#: ../../content/applications/websites/ecommerce/products/prices.rst:273 +msgid "Discounted pricelists" msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:166 -msgid "If multiple selectable pricelists exist and match a visitor's country group, only those pricelists are shown in the drop-down." +#: ../../content/applications/websites/ecommerce/products/prices.rst:275 +msgid "It is also possible to create :ref:`pricelists with discounts `. To do so, :ref:`create a pricelist ` and :ref:`configure the discount `." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:170 -msgid "Foreign currency" +#: ../../content/applications/websites/ecommerce/products/prices.rst:279 +msgid "If a :ref:`pricelist ` contains a :ref:`Discount ` price type, the price is striked through for applicable customers, even if the :ref:`Comparison Price ` feature has not been enabled." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:172 -msgid "If you are selling in **multiple currencies** and have pricelists in foreign currencies, customers can select their corresponding pricelist anywhere on the :guilabel:`Shop` page from the drop-down menu next to the search bar." +#: ../../content/applications/websites/ecommerce/products/prices.rst:285 +msgid "If using pricelists with :ref:`country groups `, the discounted pricelist must be assigned the same country group as the one used for the non-discounted pricelist." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:-1 -msgid "Pricelists selection." +#: ../../content/applications/websites/ecommerce/products/prices.rst:291 +msgid "E-commerce promotional code" msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:181 -msgid ":doc:`/applications/sales/sales/products_prices/prices/currencies`" +#: ../../content/applications/websites/ecommerce/products/prices.rst:293 +msgid "To offer a discounted pricelist for customers with a specific discount code, access the relevant :ref:`pricelist form `, go to the :guilabel:`Ecommerce` tab, and add an :guilabel:`E-commerce Promotional Code`, e.g., `SUMMERSALE10%`. Then, go to the :guilabel:`Sales Price` tab, click :guilabel:`Add a line`, and :ref:`configure the discount `. When a customer inserts the code during the :ref:`checkout process `, this discount is granted according to the :guilabel:`Sales Price` configuration." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:184 -msgid "Permanent discount" +#: ../../content/applications/websites/ecommerce/products/prices.rst:302 +msgid "Make sure that the :ref:`Promo Code ` option in the website editor is enabled and, if using :ref:`country groups `, that the discounted pricelist has the same country group assigned as the non-discounted pricelist." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:186 -msgid "If you have permanently reduced the price of a product, a popular means to attract customers is the **strikethrough** strategy. The strategy consists in displaying the previous price crossed out and the **new discounted price** next to it." +#: ../../content/applications/websites/ecommerce/products/prices.rst:310 +msgid "Hide prices" msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:-1 -msgid "Price strikethrough." +#: ../../content/applications/websites/ecommerce/products/prices.rst:312 +msgid "Some businesses, such as :ref:`B2B shops ` or companies that sell luxury or custom items, often prefer to showcase their products online without displaying their prices." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/prices.rst:315 +msgid "To hide product prices on the ecommerce, go to :menuselection:`Website --> Configuration --> Settings`, enable :guilabel:`Prevent Sale of Zero Priced Product` in the :guilabel:`eCommerce` section, and enter a redirect URL in the :guilabel:`Button URL` field. The :guilabel:`Add to Cart` button on the product page is then replaced by a :guilabel:`Contact us` button, which can be :ref:`customized ` if needed." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/prices.rst:321 +msgid "After enabling this feature, either set the price to `0` for all desired products or create a :ref:`pricelist ` with all product prices set to `0`. Ensure the pricelist is assigned to the correct website and is listed first among the website's pricelists." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/prices.rst:326 +msgid "Ensure no pricelist used on the ecommerce has been marked as :guilabel:`Selectable` to prevent accidentally displaying the zero-priced pricelist." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:193 -msgid "To display a 'striked' price, enable the :guilabel:`Comparison Price` option under :menuselection:`Website --> Configuration --> Settings --> Shop - Products category`. Then, head to the product's template (:menuselection:`Website --> eCommerce --> Products`), and in the :guilabel:`Compare to Price` field, enter the **new** price." +#: ../../content/applications/websites/ecommerce/products/prices.rst:328 +msgid "To hide prices from public visitors while keeping them visible to logged-in customers, create a zero-priced pricelist to be used for non-logged-in customers and :ref:`assign ` a regular pricelist (with actual prices) to customers with :ref:`portal access `." msgstr "" -#: ../../content/applications/websites/ecommerce/products/price_management.rst:199 -msgid "If a pricelist contains a :ref:`Discount ` price type, the striked price is visible to applicable customers. This is true even if the :guilabel:`Comparison Price` feature has not been enabled." +#: ../../content/applications/websites/ecommerce/products/prices.rst:334 +msgid ":doc:`../customer_accounts`" msgstr "" #: ../../content/applications/websites/ecommerce/shipping.rst:3 @@ -3272,6 +3510,7 @@ msgid "Default forum badges" msgstr "" #: ../../content/applications/websites/forum.rst:285 +#: ../../content/applications/websites/livechat/information.rst:98 msgid "Tags" msgstr "" @@ -4048,6 +4287,207 @@ msgstr "" msgid ":doc:`Live chat channel rules `" msgstr "" +#: ../../content/applications/websites/livechat/information.rst:3 +msgid "Information panel" +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:5 +msgid "The **Live Chat** information panel provides agents with the context they need to handle live chat conversations efficiently. It gathers key information about the visitor and the conversation history, allowing agents to respond faster and avoid repetitive messaging." +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:10 +msgid "Accessing the info panel" +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:12 +msgid "To view the info panel, open a live chat conversation either in the **Discuss** app or the **Live Chat** app. Live chat discussions in the **Discuss** app are listed on the left side panel, under the title of the live chat channel where the conversation began. In the **Live Chat** app, conversations can be accessed by navigating to :menuselection:`Live Chat --> Sessions --> All Conversations`." +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:18 +msgid "The information panel appears on the right side of the conversation. Click the :icon:`fa-info` :guilabel:`(information)` icon to toggle the info panel open or closed." +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:-1 +msgid "The information panel for a known contact." +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:25 +msgid "Contact information" +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:27 +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 +msgid "Status" +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:35 +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 +msgid "In progress" +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:42 +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 +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 +msgid "Waiting for customer" +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:52 +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 "" + +#: ../../content/applications/websites/livechat/information.rst:-1 +msgid "A conversation with the waiting for customer status." +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:60 +msgid "The *Waiting for customer* status **must** be manually applied." +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:63 +msgid "Looking for help" +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:65 +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 +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 "" + +#: ../../content/applications/websites/livechat/information.rst:-1 +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 +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 +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 +msgid "Notes" +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:93 +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 +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 +msgid "Chatbot answers" +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:107 +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 "" + +#: ../../content/applications/websites/livechat/information.rst:-1 +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 +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 +msgid "Country & language" +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:126 +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/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 +msgid "Recent conversations" +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:137 +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 "" + +#: ../../content/applications/websites/livechat/information.rst:-1 +msgid "The recent conversations field on the information panel." +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:145 +msgid "Open tickets" +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:147 +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 "" + +#: ../../content/applications/websites/livechat/information.rst:-1 +msgid "The open ticket field on the information panel." +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:155 +msgid "Outcome" +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:157 +msgid "For closed conversations, the *Outcome* field defines how the conversation concluded:" +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:159 +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 +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 +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 +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 +msgid "Send conversation" +msgstr "" + +#: ../../content/applications/websites/livechat/information.rst:172 +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 "" + +#: ../../content/applications/websites/livechat/information.rst:-1 +msgid "The send conversation button at the bottom of the info panel." +msgstr "" + #: ../../content/applications/websites/livechat/participate.rst:3 msgid "Participate in live chat" msgstr "" @@ -4088,10 +4528,6 @@ msgstr "" msgid "If an operator speaks multiple languages, they can add this information to their user profile. This information can then be used to determine which conversations the operator is assigned. A visitor's language is determined via their browser's language settings." msgstr "" -#: ../../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/participate.rst:43 msgid "To add *Online Chat Languages*, click on the user avatar in the top-right corner of any page in the database. Select :guilabel:`My Profile` from the drop-down menu to open the profile page. On the right side of the :guilabel:`Preferences` tab, click into the :guilabel:`Online Chat Language` field, and select one or more languages from the drop-down menu." msgstr "" @@ -4768,7 +5204,7 @@ msgid ":doc:`../general/integrations/unsplash`" msgstr "" #: ../../content/applications/websites/website/configuration.rst:5 -#: ../../content/applications/websites/website/configuration/cookies_bar.rst:15 +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:21 #: ../../content/applications/websites/website/reporting/link_tracker.rst:10 msgid "Configuration" msgstr "" @@ -4897,124 +5333,224 @@ msgstr "" msgid "A new :guilabel:`Zone URL` has been generated for your Zone, in this example it is ``pulltest-xxxxx.kxcdn.com``. This value will differ for each database." msgstr "" -#: ../../content/applications/websites/website/configuration/cdn.rst:52 -msgid "Copy this :guilabel:`Zone URL` to a text editor for later, as it will be used in the next steps." +#: ../../content/applications/websites/website/configuration/cdn.rst:52 +msgid "Copy this :guilabel:`Zone URL` to a text editor for later, as it will be used in the next steps." +msgstr "" + +#: ../../content/applications/websites/website/configuration/cdn.rst:55 +msgid "Configure the Odoo instance with the new zone" +msgstr "" + +#: ../../content/applications/websites/website/configuration/cdn.rst:57 +msgid "In the Odoo :guilabel:`Website` app, go to the :menuselection:`Settings` and then activate the :guilabel:`Content Delivery Network (CDN)` setting and copy/paste the :guilabel:`Zone URL` value from the earlier step into the :guilabel:`CDN Base URL` field. This field is only visible and configurable when the :ref:`developer mode ` is activated." +msgstr "" + +#: ../../content/applications/websites/website/configuration/cdn.rst:63 +msgid "Ensure that there are two *forward slashes* (`//`) before the :guilabel:`CDN Base URL` and one forward slash (`/`) after the :guilabel:`CDN Base URL`." +msgstr "" + +#: ../../content/applications/websites/website/configuration/cdn.rst:66 +msgid ":guilabel:`Save` the settings when complete." +msgstr "" + +#: ../../content/applications/websites/website/configuration/cdn.rst:-1 +msgid "Activate the CDN setting in Odoo." +msgstr "" + +#: ../../content/applications/websites/website/configuration/cdn.rst:72 +msgid "Now the website is using the CDN for the resources matching the :guilabel:`CDN filters` regular expressions." +msgstr "" + +#: ../../content/applications/websites/website/configuration/cdn.rst:75 +msgid "In the HTML of the Odoo website, the :abbr:`CDN (content delivery network)` integration is evidenced as working properly by checking the :abbr:`URL (Uniform Resource Locators)` of images. The *CDN Base URL* value can be seen by using your web browser's :guilabel:`Inspect` feature on the Odoo website. Look for it's record by searching within the :guilabel:`Network` tab inside of devtools." +msgstr "" + +#: ../../content/applications/websites/website/configuration/cdn.rst:-1 +msgid "The CDN Base URL can be seen using the inspect function on the Odoo website." +msgstr "" + +#: ../../content/applications/websites/website/configuration/cdn.rst:85 +msgid "Prevent security issues by activating cross-origin resource sharing (CORS)" +msgstr "" + +#: ../../content/applications/websites/website/configuration/cdn.rst:87 +msgid "A security restriction in some browsers (such as Mozilla Firefox and Google Chrome) prevents a remotely linked CSS file to fetch relative resources on this same external server." +msgstr "" + +#: ../../content/applications/websites/website/configuration/cdn.rst:90 +msgid "If the :abbr:`CORS (Cross-Origin Resource Sharing)` option isn't enabled in the :guilabel:`CDN Zone`, the more obvious resulting problem on a standard Odoo website will be the lack of *Font Awesome* icons because the font file declared in the *Font Awesome* CSS won't be loaded from the remote server." +msgstr "" + +#: ../../content/applications/websites/website/configuration/cdn.rst:95 +msgid "When these cross-origin resource issues occur, a security error message similar to the output below will appear in the web browser's developer console:" +msgstr "" + +#: ../../content/applications/websites/website/configuration/cdn.rst:98 +msgid "``Font from origin 'http://pulltest-xxxxx.kxcdn.com' has been blocked from loading /shop:1 by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://yourdatabase.odoo.com' is therefore not allowed access.``" +msgstr "" + +#: ../../content/applications/websites/website/configuration/cdn.rst:-1 +msgid "Error message populated in the browser console." +msgstr "" + +#: ../../content/applications/websites/website/configuration/cdn.rst:106 +msgid "Enabling the :abbr:`CORS (Cross-Origin Resource Sharing)` option in the :abbr:`CDN (Content Delivery Network)` settings fixes this issue." +msgstr "" + +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:3 +msgid "Cookies bar" +msgstr "" + +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:5 +msgid "**Cookies** are small text files sent to your device when you visit a website. They are processed and stored by your browser and record visitor information like login details, preferences, and browsing history. **Essential cookies** are necessary for the website to function, while **optional cookies** are used to analyze behavior or display ads." +msgstr "" + +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:10 +msgid "Data protection laws require notifying visitors about data collection methods and purposes. **Cookies bar** fulfill this obligation by informing visitors on their first visit and allowing them to decide whether to store all or only essential cookies on their device." +msgstr "" + +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:15 +msgid "Cookies bars are required to obtain visitors' consent for optional cookies only. Consent is not required for essential cookies." +msgstr "" + +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:18 +msgid "Odoo is compliant with `Google consent mode v2 `_." +msgstr "" + +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:23 +msgid "To add a cookies bar on your website, go to :menuselection:`Website --> Configuration --> Settings` and enable :guilabel:`Cookies Bar` in the :guilabel:`Tracking & SEO` section. This activates :guilabel:`Block tracking 3rd-party services` by default, including social media, video hosting platforms, and Google services. Click :guilabel:`Add domains to the block list` to include other external websites. These services remain blocked on your website until visitors accept optional cookies." +msgstr "" + +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:31 +msgid "Using third-party cookies without a cookies bar does not prevent them from being triggered. Only the presence of a cookie bar **and** the visitor’s refusal ensure that these cookies are blocked." +msgstr "" + +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:37 +msgid "Cookies policy" +msgstr "" + +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:39 +msgid "When you enable the cookies bar for your website, Odoo creates the **Cookie Policy** page (`/cookie-policy`) containing a list of cookies set by default, with their purpose and examples." +msgstr "" + +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:48 +msgid "Category" msgstr "" -#: ../../content/applications/websites/website/configuration/cdn.rst:55 -msgid "Configure the Odoo instance with the new zone" +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:49 +msgid "Role" msgstr "" -#: ../../content/applications/websites/website/configuration/cdn.rst:57 -msgid "In the Odoo :guilabel:`Website` app, go to the :menuselection:`Settings` and then activate the :guilabel:`Content Delivery Network (CDN)` setting and copy/paste the :guilabel:`Zone URL` value from the earlier step into the :guilabel:`CDN Base URL` field. This field is only visible and configurable when the :ref:`developer mode ` is activated." +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:50 +msgid "Name" msgstr "" -#: ../../content/applications/websites/website/configuration/cdn.rst:63 -msgid "Ensure that there are two *forward slashes* (`//`) before the :guilabel:`CDN Base URL` and one forward slash (`/`) after the :guilabel:`CDN Base URL`." +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:51 +msgid "Essential - Session & Security" msgstr "" -#: ../../content/applications/websites/website/configuration/cdn.rst:66 -msgid ":guilabel:`Save` the settings when complete." +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:52 +msgid "Authenticate visitors, protect visitor data and allow the website to deliver the services visitors expects, such as maintaining the content of their cart, or allowing file uploads. The website will not work properly without these cookies." msgstr "" -#: ../../content/applications/websites/website/configuration/cdn.rst:-1 -msgid "Activate the CDN setting in Odoo." +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:55 +msgid "session_id (Odoo)" msgstr "" -#: ../../content/applications/websites/website/configuration/cdn.rst:72 -msgid "Now the website is using the CDN for the resources matching the :guilabel:`CDN filters` regular expressions." +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:56 +msgid "Essential - Preferences" msgstr "" -#: ../../content/applications/websites/website/configuration/cdn.rst:75 -msgid "In the HTML of the Odoo website, the :abbr:`CDN (content delivery network)` integration is evidenced as working properly by checking the :abbr:`URL (Uniform Resource Locators)` of images. The *CDN Base URL* value can be seen by using your web browser's :guilabel:`Inspect` feature on the Odoo website. Look for it's record by searching within the :guilabel:`Network` tab inside of devtools." +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:57 +msgid "Remember information about the preferred look or behavior of the website, such as the preferred language or region. The website will continue to function without these cookies, but the visitor’s experience may be affected." msgstr "" -#: ../../content/applications/websites/website/configuration/cdn.rst:-1 -msgid "The CDN Base URL can be seen using the inspect function on the Odoo website." +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:60 +msgid "frontend_lang (Odoo)" msgstr "" -#: ../../content/applications/websites/website/configuration/cdn.rst:85 -msgid "Prevent security issues by activating cross-origin resource sharing (CORS)" +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:61 +msgid "Optional - Interaction History" msgstr "" -#: ../../content/applications/websites/website/configuration/cdn.rst:87 -msgid "A security restriction in some browsers (such as Mozilla Firefox and Google Chrome) prevents a remotely linked CSS file to fetch relative resources on this same external server." +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:62 +msgid "Collect information about your interactions with the website, the pages you've seen, and any specific marketing campaign that brought you to the website. The website will work without these cookies, but some features or services may not perform optimally." msgstr "" -#: ../../content/applications/websites/website/configuration/cdn.rst:90 -msgid "If the :abbr:`CORS (Cross-Origin Resource Sharing)` option isn't enabled in the :guilabel:`CDN Zone`, the more obvious resulting problem on a standard Odoo website will be the lack of *Font Awesome* icons because the font file declared in the *Font Awesome* CSS won't be loaded from the remote server." +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:65 +msgid "im_livechat_previous_operator (Odoo), utm_campaign (Odoo), utm_source (Odoo), utm_medium (Odoo)" msgstr "" -#: ../../content/applications/websites/website/configuration/cdn.rst:95 -msgid "When these cross-origin resource issues occur, a security error message similar to the output below will appear in the web browser's developer console:" +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:69 +msgid "Optional - Advertising & Marketing" msgstr "" -#: ../../content/applications/websites/website/configuration/cdn.rst:98 -msgid "``Font from origin 'http://pulltest-xxxxx.kxcdn.com' has been blocked from loading /shop:1 by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://yourdatabase.odoo.com' is therefore not allowed access.``" +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:70 +msgid "Make advertising more engaging to visitors and more valuable to publishers and advertisers, such as providing more relevant ads when you visit other websites that display ads or to improve reporting on ad campaign performance. Note that some third-party services may install additional cookies on your browser in order to identify you." msgstr "" -#: ../../content/applications/websites/website/configuration/cdn.rst:-1 -msgid "Error message populated in the browser console." +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:74 +msgid "__gads (Google), __gac (Google)" msgstr "" -#: ../../content/applications/websites/website/configuration/cdn.rst:106 -msgid "Enabling the :abbr:`CORS (Cross-Origin Resource Sharing)` option in the :abbr:`CDN (Content Delivery Network)` settings fixes this issue." +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:76 +msgid "Optional - Analytics" msgstr "" -#: ../../content/applications/websites/website/configuration/cookies_bar.rst:3 -msgid "Cookies bar" +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:77 +msgid "Understand how visitors engage with the website, via Google Analytics. The website will still work without these cookies." msgstr "" -#: ../../content/applications/websites/website/configuration/cookies_bar.rst:5 -msgid "**Cookies** are small text files sent to your device when you visit a website. They are processed and stored by your browser and track user information like login details, preferences, and browsing history. **Essential cookies** are necessary for the website to function, while **optional cookies** are used to analyze behavior or display ads." +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:79 +msgid "_ga (Google), _gat (Google), _gid (Google), _gac_* (Google)" msgstr "" -#: ../../content/applications/websites/website/configuration/cookies_bar.rst:10 -msgid "Data protection laws require notifying users about data collection methods and purposes. **Cookies bar** fulfill this obligation by informing users on their first visit and allowing them to decide whether to store all or only essential cookies on their device." +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:85 +msgid "It is not possible to let visitors customize or select which optional cookies they want to allow." msgstr "" -#: ../../content/applications/websites/website/configuration/cookies_bar.rst:17 -msgid "To enable the cookies bar on your website, go to :menuselection:`Website --> Configuration --> Settings` and enable :guilabel:`Cookies Bar` in the :guilabel:`Privacy` section." +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:88 +msgid "You could add a link to this page in your website's footer, for example." msgstr "" -#: ../../content/applications/websites/website/configuration/cookies_bar.rst:21 -msgid "The :ref:`Cookies Policy ` page (/cookie-policy`) is automatically created when you enable the cookies bar." +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:93 +msgid "Edit the Cookies policy page" msgstr "" -#: ../../content/applications/websites/website/configuration/cookies_bar.rst:27 -msgid "Customization" +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:95 +msgid "To access it, click the :guilabel:`Cookie Policy` hyperlink in the cookies bar or open the page from :menuselection:`Website --> Site --> Pages`." msgstr "" -#: ../../content/applications/websites/website/configuration/cookies_bar.rst:29 -msgid "To adapt the display of the cookies bar, click :guilabel:`Edit`, go to the :guilabel:`Invisible Elements` section at the bottom of the panel, and click :guilabel:`Cookies Bar`. You can modify the :guilabel:`Layout` and :guilabel:`Size` of the cookies bar, and enable :guilabel:`Backdrop` to gray out the page in the background when the cookies bar is displayed on the screen." +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:98 +msgid "To adapt the content of the page according to your needs, click the :guilabel:`Edit` button." msgstr "" -#: ../../content/applications/websites/website/configuration/cookies_bar.rst:35 -msgid "Click anywhere in the building block to further customize the appearance of the cookies bar using :guilabel:`Block`, :guilabel:`Column` and/or :guilabel:`Inline Text` customization options." +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:101 +msgid "You have to list every cookie you added yourself on the `/cookie-policy` page including their name, role, category and duration." msgstr "" -#: ../../content/applications/websites/website/configuration/cookies_bar.rst:38 -msgid "To edit the contents of the cookies bar (i.e., the consent message), click directly in the building block." +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:105 +msgid "To check the duration of cookies, use your browser’s developer tools." msgstr "" -#: ../../content/applications/websites/website/configuration/cookies_bar.rst:44 -msgid "Cookies policy" +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:108 +msgid ":doc:`Pages <../structure/pages>`" msgstr "" -#: ../../content/applications/websites/website/configuration/cookies_bar.rst:46 -msgid "When you enable the cookies bar for your website, Odoo creates the **Cookie Policy** page (`/cookie-policy`) containing a non-exhaustive list of cookies, with their purpose and examples. To access it, click the :guilabel:`Cookie Policy` hyperlink in the cookies bar or open the page from :menuselection:`Website --> Site --> Pages`." +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:113 +msgid "Customization" msgstr "" -#: ../../content/applications/websites/website/configuration/cookies_bar.rst:51 -msgid "To adapt the content of the page according to your needs, click the :guilabel:`Edit` button." +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:115 +msgid "To adapt the display of the cookies bar on your website, click :guilabel:`Edit` on the website editor, go to the :guilabel:`Invisible Elements` section at the bottom of the panel, and click :guilabel:`Cookies Bar`. You can modify the :guilabel:`Layout` and :guilabel:`Size` of the cookies bar, and enable :guilabel:`Backdrop` to gray out the page in the background when the cookies bar is displayed on the screen." msgstr "" -#: ../../content/applications/websites/website/configuration/cookies_bar.rst:54 -msgid "You could add a link to this page in your website's footer, for example." +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:121 +msgid "Click anywhere in the building block to further customize the appearance of the cookies bar using :guilabel:`Block`, :guilabel:`Column` and/or :guilabel:`Inline Text` customization options." msgstr "" -#: ../../content/applications/websites/website/configuration/cookies_bar.rst:57 -msgid ":doc:`Pages <../structure/pages>`" +#: ../../content/applications/websites/website/configuration/cookies_bar.rst:124 +msgid "To edit the contents of the cookies bar (i.e., the consent message), click directly in the building block." msgstr "" #: ../../content/applications/websites/website/configuration/domain_names.rst:3 @@ -5513,7 +6049,7 @@ msgid "Mapping a domain name to an Odoo.sh branch" msgstr "" #: ../../content/applications/websites/website/configuration/domain_names.rst:368 -msgid ":ref:`Odoo.sh branches: settings tab `" +msgid ":ref:`Odoo.sh branches: settings tab `" msgstr "" #: ../../content/applications/websites/website/configuration/domain_names.rst:373 @@ -5756,10 +6292,6 @@ msgstr "" msgid ":doc:`domain_names`" msgstr "" -#: ../../content/applications/websites/website/configuration/multi_website.rst:3 -msgid "Multiple websites" -msgstr "" - #: ../../content/applications/websites/website/configuration/multi_website.rst:5 msgid "Odoo allows you to create multiple websites from the same database. This can be useful, for example, if you have multiple brands operating under your organization, or to create separate websites for different products/services, or different audiences. In these cases, having different websites can help avoid confusion and make it easier to tailor your digital outreach strategies and reach your target audience." msgstr "" @@ -5917,7 +6449,7 @@ msgid "Pricing" msgstr "" #: ../../content/applications/websites/website/configuration/multi_website.rst:133 -msgid "Products can be priced differently based on the website using :ref:`pricelists `. The following configuration is required:" +msgid "Products can be priced differently based on the website using :ref:`pricelists `. The following configuration is required:" msgstr "" #: ../../content/applications/websites/website/configuration/multi_website.rst:137 @@ -6821,7 +7353,7 @@ msgstr "" #: ../../content/applications/websites/website/structure/header_footer.rst:34 #: ../../content/applications/websites/website/structure/header_footer.rst:111 #: ../../content/applications/websites/website/structure/header_footer.rst:153 -#: ../../content/applications/websites/website/structure/header_footer.rst:173 +#: ../../content/applications/websites/website/structure/header_footer.rst:193 msgid "To finalize changes, click on :guilabel:`Save`." msgstr "" @@ -6878,7 +7410,7 @@ msgid "Access the Menu editor while in Edit mode." msgstr "" #: ../../content/applications/websites/website/structure/header_footer.rst:81 -msgid "Adding menu items" +msgid "Add menu items" msgstr "" #: ../../content/applications/websites/website/structure/header_footer.rst:83 @@ -6997,43 +7529,79 @@ msgstr "" msgid "Pick the :guilabel:`Size`: either :guilabel:`Full-Width` or :guilabel:`Narrow`." msgstr "" +#: ../../content/applications/websites/website/structure/header_footer.rst:156 +msgid "Hide a dynamic menu item for non-logged in users" +msgstr "" + #: ../../content/applications/websites/website/structure/header_footer.rst:158 +msgid "To hide a dynamic menu item (i.e., a menu item generated automatically by Odoo, for example, when you install an app or module, such as `Events`, `Courses`, etc.) for non-logged in users, follow these steps:" +msgstr "" + +#: ../../content/applications/websites/website/structure/header_footer.rst:162 +msgid ":ref:`Enable developer mode `." +msgstr "" + +#: ../../content/applications/websites/website/structure/header_footer.rst:163 +msgid "Go to :menuselection:`Website --> Configuration --> Menus`." +msgstr "" + +#: ../../content/applications/websites/website/structure/header_footer.rst:164 +msgid "Expand the list of menus for the relevant website if needed, then click the menu item you wish to hide." +msgstr "" + +#: ../../content/applications/websites/website/structure/header_footer.rst:166 +msgid "In the :guilabel:`Visible Groups` section, click :guilabel:`Add a line` under :guilabel:`Group Name`." +msgstr "" + +#: ../../content/applications/websites/website/structure/header_footer.rst:168 +msgid "Search for the group :guilabel:`User types / Portal`, select it, then click :guilabel:`Select`." +msgstr "" + +#: ../../content/applications/websites/website/structure/header_footer.rst:169 +msgid "Save." +msgstr "" + +#: ../../content/applications/websites/website/structure/header_footer.rst:172 +msgid "To hide the `Shop` menu item, :doc:`restrict ecommerce access to logged-in users <../../ecommerce/customer_accounts>`." +msgstr "" + +#: ../../content/applications/websites/website/structure/header_footer.rst:178 msgid "Footer design" msgstr "" -#: ../../content/applications/websites/website/structure/header_footer.rst:160 +#: ../../content/applications/websites/website/structure/header_footer.rst:180 msgid "To modify the footer, click on :guilabel:`Edit`, click on the footer, and in the :guilabel:`Footer` section of the :guilabel:`Customize` tab in the website editor:" msgstr "" -#: ../../content/applications/websites/website/structure/header_footer.rst:163 +#: ../../content/applications/websites/website/structure/header_footer.rst:183 msgid "Select a :guilabel:`Template`." msgstr "" -#: ../../content/applications/websites/website/structure/header_footer.rst:164 +#: ../../content/applications/websites/website/structure/header_footer.rst:184 msgid "Choose its :guilabel:`Colors`." msgstr "" -#: ../../content/applications/websites/website/structure/header_footer.rst:165 +#: ../../content/applications/websites/website/structure/header_footer.rst:185 msgid "Choose a :guilabel:`Slideout Effect`: :guilabel:`Regular` (i.e., no effect), :guilabel:`Slide Hover`, or :guilabel:`Shadow`." msgstr "" -#: ../../content/applications/websites/website/structure/header_footer.rst:167 +#: ../../content/applications/websites/website/structure/header_footer.rst:187 msgid "Toggle the :guilabel:`Copyright` switch to hide or show the copyright." msgstr "" -#: ../../content/applications/websites/website/structure/header_footer.rst:168 +#: ../../content/applications/websites/website/structure/header_footer.rst:188 msgid "Choose the :guilabel:`Border` size." msgstr "" -#: ../../content/applications/websites/website/structure/header_footer.rst:169 +#: ../../content/applications/websites/website/structure/header_footer.rst:189 msgid "Add a :guilabel:`Shadow`." msgstr "" -#: ../../content/applications/websites/website/structure/header_footer.rst:170 +#: ../../content/applications/websites/website/structure/header_footer.rst:190 msgid "Add a :guilabel:`Scroll Top Button` and choose its position." msgstr "" -#: ../../content/applications/websites/website/structure/header_footer.rst:171 +#: ../../content/applications/websites/website/structure/header_footer.rst:191 msgid "Hide or show the footer by toggling the :guilabel:`Page visibility` switch." msgstr "" @@ -7362,235 +7930,299 @@ msgid "Optimize SEO" msgstr "" #: ../../content/applications/websites/website/structure/seo.rst:32 -msgid "Meta tags" +msgid "If you change the title of a blog post or the name of a product, the link to the related webpage is automatically updated. The old link still functions as Odoo creates a :ref:`301 redirect `, maintaining the SEO." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:34 -msgid "Meta tags are HTML elements that provide information about a webpage to search engines and website visitors. They play a crucial role in SEO by helping search engines understand the content and context of a webpage and attract visitors with appealing content. There are two types of meta tags in Odoo:" +#: ../../content/applications/websites/website/structure/seo.rst:37 +msgid "Keywords and Meta tags" msgstr "" #: ../../content/applications/websites/website/structure/seo.rst:39 -msgid ":guilabel:`Title` tags specify a webpage's title and are displayed as a clickable link in search engine results. They should be concise, descriptive, and relevant to the page's content. You can update the title tag of your webpage or keep it empty to use the default value based on the page’s content." -msgstr "" - -#: ../../content/applications/websites/website/structure/seo.rst:44 -msgid ":guilabel:`Description` tags summarize the webpage's content, often displayed in search engine results below the title. They are used to encourage the user to visit the page. You can update the description tag of your webpage or keep it empty to use the default value based on the page’s content." +msgid "There are two types of keywords in SEO, which serve different purposes." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:50 -msgid "The :guilabel:`Preview` card displays how the title and description tags should appear in search results. It also includes the URL of your page." +#: ../../content/applications/websites/website/structure/seo.rst:42 +msgid "In-text keywords" msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:54 -msgid "Keywords" +#: ../../content/applications/websites/website/structure/seo.rst:44 +msgid "In-text keywords appear naturally throughout a page’s visible content (titles, headings, and body text) and help search engines determine the topic and relevance of the page. These keywords have a real impact on ranking. They cannot be edited in the :guilabel:`optimize SEO` pop-up." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:56 -msgid "Keywords are one of the main elements of SEO. A website that is well optimized for search engines speaks the same language as potential visitors, with keywords for SEO helping them to connect to your site." +#: ../../content/applications/websites/website/structure/seo.rst:49 +msgid "It is strongly recommended to only use one H1 title per page for SEO." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:60 -msgid "You can enter the keywords you consider essential in the :guilabel:`Keyword` field and click :guilabel:`ADD` to see how they are used at different levels in your content (H1, H2, page title, page description, page content) and the related searches in Google. The tool also suggests relevant keywords to drive your web traffic. The more keywords are present on your webpage, the better." +#: ../../content/applications/websites/website/structure/seo.rst:52 +msgid "Meta tags and meta keywords" msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:66 -msgid "It is strongly recommended to only use one H1 title per page for SEO." +#: ../../content/applications/websites/website/structure/seo.rst:54 +msgid "**Meta tags** are HTML elements that provide information about a webpage to search engines and website visitors. They play a crucial role in SEO by helping search engines understand the content and context of a webpage and attract visitors with appealing content. They can be edited in the :guilabel:`optimize SEO` pop-up. There are two types of meta tags in Odoo:" msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:69 -msgid "Image for social share" +#: ../../content/applications/websites/website/structure/seo.rst:59 +msgid ":guilabel:`Title` tags specify a webpage's title and are displayed as a clickable link in search engine results. They should be concise, descriptive, and relevant to the page's content. You can update the title tag of your webpage or keep it empty to use the default value based on the page’s content." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:71 -msgid "When you share your page on social media, your logo image is selected, but you can upload any other image by clicking the upward arrow." +#: ../../content/applications/websites/website/structure/seo.rst:64 +msgid ":guilabel:`Description` tags summarize the webpage's content, often displayed in search engine results below the title. They are used to encourage the user to visit the page. You can update the description tag of your webpage or keep it empty to use the default value based on the page’s content." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:75 -msgid "The :guilabel:`Social Preview` card displays how the page's information would appear when shared." +#: ../../content/applications/websites/website/structure/seo.rst:70 +msgid "The :guilabel:`Preview` card displays how the title and description tags should appear in search results. It also includes the URL of your page." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:77 -msgid "If you change the title of a blog post or the name of a product, the changes apply automatically everywhere on your website. The old link still functions when external websites use a :ref:`301 redirect `, maintaining the SEO link juice." +#: ../../content/applications/websites/website/structure/seo.rst:73 +msgid "**Meta keywords** are placed in a hidden HTML tag ``. Once used to describe a page’s topic, this tag is now ignored by major search engines and has little or no impact on SEO. To edit :guilabel:`Keywords`, enter the keywords you consider essential in this field and click :guilabel:`Add` to see how they are used at different levels in your content (H1, H2, page title, page description, page content) and the related searches in Google. The tool also suggests relevant keywords." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:82 +#: ../../content/applications/websites/website/structure/seo.rst:81 #: ../../content/applications/websites/website/web_design/elements.rst:64 msgid "Images" msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:84 +#: ../../content/applications/websites/website/structure/seo.rst:83 msgid "The size of images has a significant impact on page speed, which is an essential criterion for search engines to optimize SEO ranking." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:88 +#: ../../content/applications/websites/website/structure/seo.rst:87 msgid "Compare how your website ranks using `Google Page Speed `_ or `Pingdom Website Speed Test `_." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:91 +#: ../../content/applications/websites/website/structure/seo.rst:90 msgid "Odoo automatically compresses uploaded images and converts them to `Webp`. With this file format, photos are smaller, which increases the page loading speed and, therefore, gives a better ranking in SEO. All images used in Odoo official :doc:`themes <../web_design/themes>` are also compressed by default. If you are using a third-party theme, it may provide images that are not compressed efficiently." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:97 +#: ../../content/applications/websites/website/structure/seo.rst:96 msgid "**To modify an image** from your website, select the image, click :guilabel:`Edit`, then go to the :guilabel:`Customize` tab, and adapt the :guilabel:`Format` in the :guilabel:`Image` section." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:-1 -msgid "automated image compression" -msgstr "" - -#: ../../content/applications/websites/website/structure/seo.rst:104 +#: ../../content/applications/websites/website/structure/seo.rst:100 msgid "Alt tags are used to provide context to what an image is displaying, informing search engine crawlers and allowing them to index an image correctly. Adding alt tags keywords in the :guilabel:`Description` field is essential from an SEO perspective. This description is added to the HTML code of your image, and it is shown when the image cannot be displayed." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:110 -msgid "Advanced features" -msgstr "" - -#: ../../content/applications/websites/website/structure/seo.rst:113 -msgid "Structured data markup" -msgstr "" - -#: ../../content/applications/websites/website/structure/seo.rst:115 -msgid "Structured data markup is used to generate rich snippets in search engine results. It is a way for websites to send structured data to search engine robots, helping them understand your content and create well-presented search results." +#: ../../content/applications/websites/website/structure/seo.rst:106 +msgid "Image for social share" msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:119 -msgid "By default, Google supports many `rich snippets `_ for content types, including Reviews, People, Products, Businesses, Events, and Organizations." +#: ../../content/applications/websites/website/structure/seo.rst:108 +msgid "When you share your page on social media, your website logo is selected by default, but you can search the :doc:`Unsplash image library <../../../general/integrations/unsplash>` or upload any other image by clicking the :icon:`fa-upload` :guilabel:`(upload)` button." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:122 -msgid "Microdata is a set of tags, introduced with HTML5, that help search engines better understand your content and display it in a relevant way. Odoo implements microdata as defined in the schema.org `specification `_ for events, eCommerce products, forum posts, and contact addresses. This allows your product pages to be displayed in Google using extra information like the price and rating of a product:" +#: ../../content/applications/websites/website/structure/seo.rst:113 +msgid "You can set a default social share image. Go to :menuselection:`Website --> Configuration --> Settings` in the :guilabel:`SEO`section and tick the :guilabel:`Default Social Share Image` checkbox." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:-1 -msgid "snippets in search engine results" +#: ../../content/applications/websites/website/structure/seo.rst:117 +msgid "The :guilabel:`Social Preview` card displays how the page's information would appear when shared." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:132 -msgid "robots.txt" +#: ../../content/applications/websites/website/structure/seo.rst:121 +msgid "Indexation" msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:134 -msgid "A `robots.txt` file instructs search engine crawlers which parts of a website they are permitted to access. Its primary purpose is to:" +#: ../../content/applications/websites/website/structure/seo.rst:123 +msgid "Website indexation is the process by which search engines, such as Google, discover, analyze, and store information about a website's content in their database. Search engine bots, known as crawlers or spiders, visit web pages and follow links to collect data, including text, images, and other media. The purpose of indexation is to make a website's content searchable and discoverable to users. Without being indexed, a website or a specific page on that site will not appear in search engine results, regardless of how relevant or well-designed it is. Indexation is a fundamental step in :abbr:`SEO (Search Engine Optimization)`, serving as the foundation for a website's visibility and organic traffic." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:137 -msgid "**Prevent overloading the website:** By guiding crawlers away from certain sections, robots.txt helps manage server load." +#: ../../content/applications/websites/website/structure/seo.rst:133 +msgid "**When you first create your website on Odoo, it will not appear directly in search engine results.** Search engines need time to crawl and index it, which can take anywhere from a few days to several weeks. For Google, you can use the :doc:`Search Console <../configuration/google_search_console>` and request indexing for specific URLs, though this does not guarantee faster results. If you have an existing website and are migrating, your previous website may still appear instead of the new one during that timeframe." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:139 -msgid "**Control access to resources and detailed descriptions:** It can prevent crawlers from accessing media files (images, videos), CSS stylesheets, and JavaScript files, and from reading the content (text) of specific pages." +#: ../../content/applications/websites/website/structure/seo.rst:141 +msgid "SEO impact when migrating your existing website to Odoo" msgstr "" #: ../../content/applications/websites/website/structure/seo.rst:143 -msgid "When indexing your website, search engines first look at the robots.txt file. Odoo automatically creates one robot.txt file available on `mydatabase.odoo.com/robots.txt`." +msgid "In most cases, migrating to Odoo will not negatively impact your SEO. While no platform can guarantee that rankings will remain unchanged, follow these best practices to significantly reduce the risk." msgstr "" #: ../../content/applications/websites/website/structure/seo.rst:147 -msgid "Reputable bots adhere to robots.txt; others may require blocking via :ref:`Cloudflare ` on your custom domain." +msgid "Keep your existing content." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:151 -msgid "Edit robots.txt" +#: ../../content/applications/websites/website/structure/seo.rst:149 +msgid "Implement :ref:`redirects ` from old URLs to their new counterparts." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:153 -msgid "By editing a robots.txt file, you can control which site pages are accessible to search engine crawlers. To add custom instructions to the file, go to :menuselection:`Website --> Configuration --> Settings`, scroll down to the :guilabel:`SEO` section, and click :guilabel:`Edit robots.txt`." +#: ../../content/applications/websites/website/structure/seo.rst:151 +msgid "Monitor traffic and indexation to make sure that everything is going well, using :doc:`../configuration/google_search_console`." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:158 -msgid "If you do not want robots to crawl the `/about-us` page of your site, you can edit the robots.txt file to add `Disallow: /about-us`." +#: ../../content/applications/websites/website/structure/seo.rst:153 +msgid "By doing this, you help search engines reindex your site and maintain your visibility in search results." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:162 -msgid "While `robots.txt` prevents content from being crawled, **it does not guarantee that a page will not be indexed**. A page can still appear in search results if it is linked to from other crawled pages (indexed by \"reference\"). Google generally does not recommend using robots.txt to block webpages that you wish to keep out of search results entirely." +#: ../../content/applications/websites/website/structure/seo.rst:157 +msgid "It is normal to experience a traffic decrease in the first days." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:168 +#: ../../content/applications/websites/website/structure/seo.rst:160 msgid "Prevent a page from being indexed" msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:170 +#: ../../content/applications/websites/website/structure/seo.rst:162 msgid "To effectively prevent a page from appearing in search engine results, use one of the following methods:" msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:173 +#: ../../content/applications/websites/website/structure/seo.rst:165 msgid "**noindex tag:** Access the page's :ref:`properties ` and toggle the :guilabel:`Indexed` switch off." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:177 +#: ../../content/applications/websites/website/structure/seo.rst:169 msgid "This option is not yet available for :ref:`dynamic pages `." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:179 +#: ../../content/applications/websites/website/structure/seo.rst:171 msgid "**404 or 403:** Configure the page to return a 404 (Not Found) or 403 (Forbidden) HTTP status code. These codes signal to search engines that the page does not exist or is inaccessible, leading to its eventual removal from the index." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:183 +#: ../../content/applications/websites/website/structure/seo.rst:175 msgid "**404:** :ref:`Configure a 404 redirection. `" msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:184 +#: ../../content/applications/websites/website/structure/seo.rst:176 msgid "**403:** Access the page's :ref:`properties ` and toggle the :guilabel:`Visibility` switch off or :ref:`unpublish the page `." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:187 +#: ../../content/applications/websites/website/structure/seo.rst:179 msgid "**Google Search Console:** Use Google Search Console to request the removal of specific URLs from Google's index." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:191 +#: ../../content/applications/websites/website/structure/seo.rst:183 msgid ":doc:`../configuration/google_search_console`" msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:192 +#: ../../content/applications/websites/website/structure/seo.rst:184 msgid ":doc:`pages`" msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:195 -msgid "Sitemap" +#: ../../content/applications/websites/website/structure/seo.rst:187 +msgid "Prevent a website from being indexed" +msgstr "" + +#: ../../content/applications/websites/website/structure/seo.rst:189 +msgid "To prevent a website from appearing in search engine results, go to :menuselection:`Configuration --> Settings`, then in the :guilabel:`Website Info` section, add a random value in the :guilabel:`Domain` field. Doing so automatically inserts the following tag into the page source:" msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:197 -msgid "The sitemap points out website pages and their relation to each other to search engine robots. Odoo generates a `/sitemap.xml` file, including all URLs. For performance reasons, this file is cached and updated every 12 hours." +#: ../../content/applications/websites/website/structure/seo.rst:198 +msgid "This tag instructs search engines not to index the site. After applying the change, it may take several days or weeks for search engines to update their results and remove the website." msgstr "" #: ../../content/applications/websites/website/structure/seo.rst:202 +msgid "This can be used to prevent websites from test databases from appearing in search results." +msgstr "" + +#: ../../content/applications/websites/website/structure/seo.rst:205 +msgid "Sitemap" +msgstr "" + +#: ../../content/applications/websites/website/structure/seo.rst:207 +msgid "The sitemap points out website pages and their relation to each other to search engine crawlers. Odoo generates a `/sitemap.xml` file, including all URLs. For performance reasons, this file is cached and updated every 12 hours." +msgstr "" + +#: ../../content/applications/websites/website/structure/seo.rst:212 msgid "If your website has a lot of pages, Odoo automatically creates a Sitemap Index file, respecting the `sitemaps.org protocol `_, grouping sitemap URLs in 45000 chunks per file." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:206 +#: ../../content/applications/websites/website/structure/seo.rst:216 msgid "Every sitemap entry has three attributes that are computed automatically:" msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:208 +#: ../../content/applications/websites/website/structure/seo.rst:218 msgid "``: the URL of a page." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:209 +#: ../../content/applications/websites/website/structure/seo.rst:219 msgid "``: last modification date of the resource, computed automatically based on the related object. For a page related to a product, this could be the last modification date of the product or the page." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:212 +#: ../../content/applications/websites/website/structure/seo.rst:222 msgid "``: modules may implement their priority algorithm based on their content (for example, a forum might assign a priority based on the number of votes on a specific post). The priority of a static page is defined by its priority field, which is normalized (16 is the default)." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:217 -msgid "To prevent pages from appearing in a sitemap, go to :menuselection:`Site --> Properties`, click the :guilabel:`Publish` tab, and turn off the :guilabel:`Indexed` feature." +#: ../../content/applications/websites/website/structure/seo.rst:227 +msgid "To prevent pages from appearing in a sitemap, go to :menuselection:`Site --> Properties`, and toggle off the :guilabel:`Indexed` feature." msgstr "" #: ../../content/applications/websites/website/structure/seo.rst:0 -msgid "disabling the “Indexed” checkbox" +msgid "toggle off the “Indexed” field" +msgstr "" + +#: ../../content/applications/websites/website/structure/seo.rst:234 +msgid "robots.txt" +msgstr "" + +#: ../../content/applications/websites/website/structure/seo.rst:236 +msgid "A `robots.txt` file instructs search engine crawlers which parts of a website they are permitted to access. Its primary purpose is to:" +msgstr "" + +#: ../../content/applications/websites/website/structure/seo.rst:239 +msgid "**Prevent overloading the website:** By guiding crawlers away from certain sections, robots.txt helps manage server load." +msgstr "" + +#: ../../content/applications/websites/website/structure/seo.rst:241 +msgid "**Control access to resources and detailed descriptions:** It can prevent crawlers from accessing media files (images, videos), CSS stylesheets, and JavaScript files, and from reading the content (text) of specific pages." +msgstr "" + +#: ../../content/applications/websites/website/structure/seo.rst:245 +msgid "When indexing your website, search engines first look at the robots.txt file. Odoo automatically creates one robot.txt file available on `mydatabase.odoo.com/robots.txt`." +msgstr "" + +#: ../../content/applications/websites/website/structure/seo.rst:249 +msgid "Reputable bots adhere to robots.txt; others may require blocking via :ref:`Cloudflare ` on your custom domain." +msgstr "" + +#: ../../content/applications/websites/website/structure/seo.rst:253 +msgid "Edit robots.txt" +msgstr "" + +#: ../../content/applications/websites/website/structure/seo.rst:255 +msgid "By editing a robots.txt file, you can control which site pages are accessible to search engine crawlers. To add custom instructions to the file, go to :menuselection:`Website --> Configuration --> Settings`, scroll down to the :guilabel:`SEO` section, and click :guilabel:`Edit robots.txt`." +msgstr "" + +#: ../../content/applications/websites/website/structure/seo.rst:260 +msgid "If you do not want robots to crawl the `/about-us` page of your site, you can edit the robots.txt file to add `Disallow: /about-us`." +msgstr "" + +#: ../../content/applications/websites/website/structure/seo.rst:264 +msgid "While `robots.txt` prevents content from being crawled, **it does not guarantee that a page will not be indexed**. A page can still appear in search results if it is linked to from other crawled pages (indexed by \"reference\"). Google generally does not recommend using robots.txt to block webpages that you wish to keep out of search results entirely." +msgstr "" + +#: ../../content/applications/websites/website/structure/seo.rst:270 +msgid "Advanced features" +msgstr "" + +#: ../../content/applications/websites/website/structure/seo.rst:273 +msgid "Structured data markup" +msgstr "" + +#: ../../content/applications/websites/website/structure/seo.rst:275 +msgid "Structured data markup is used to generate rich snippets in search engine results. It is a way for websites to send structured data to search engine crawlers, helping them understand your content and create well-presented search results." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:224 +#: ../../content/applications/websites/website/structure/seo.rst:279 +msgid "By default, Google supports many `rich snippets `_ for content types, including Reviews, People, Products, Businesses, Events, and Organizations." +msgstr "" + +#: ../../content/applications/websites/website/structure/seo.rst:282 +msgid "Microdata is a set of tags, introduced with HTML5, that help search engines better understand your content and display it in a relevant way. Odoo implements microdata as defined in the schema.org `specification `_ for events, eCommerce products, forum posts, and contact addresses. This allows your product pages to be displayed in Google using extra information like the price and rating of a product:" +msgstr "" + +#: ../../content/applications/websites/website/structure/seo.rst:-1 +msgid "snippets in search engine results" +msgstr "" + +#: ../../content/applications/websites/website/structure/seo.rst:292 msgid "Hreflang HTML tags" msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:226 +#: ../../content/applications/websites/website/structure/seo.rst:294 msgid "Odoo automatically includes `hreflang` and `x-default` tags in the code of your website's multilingual pages. These HTML attributes are crucial in informing search engines about a specific page's language and geographical targeting." msgstr "" -#: ../../content/applications/websites/website/structure/seo.rst:231 +#: ../../content/applications/websites/website/structure/seo.rst:299 msgid ":doc:`../configuration/translate`" msgstr "" @@ -7662,35 +8294,35 @@ msgstr "" msgid "Example of a form block" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:62 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:64 msgid "Action" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:64 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:66 msgid "By default, when the form is submitted, an email containing the information entered by the visitor is automatically sent. Depending on the apps installed on your database, additional actions that can automatically create records may become available. To choose a different action, click :guilabel:`Edit`, click the form, navigate to the :guilabel:`Customize` tab, and select the desired :guilabel:`Action`:" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:70 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:72 msgid ":guilabel:`Apply for a Job` (:doc:`Recruitment `)" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:71 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:73 msgid ":guilabel:`Create a Customer` (:doc:`eCommerce <../../ecommerce>`)" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:72 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:74 msgid ":guilabel:`Create a Ticket` (:doc:`Helpdesk `)" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:73 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:75 msgid ":guilabel:`Create an Opportunity` (:doc:`CRM `)" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:74 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:76 msgid ":guilabel:`Subscribe to Newsletter` (:doc:`Email Marketing `)" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:75 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:77 msgid ":guilabel:`Create a Task` (:doc:`Project `)" msgstr "" @@ -7698,23 +8330,23 @@ msgstr "" msgid "Editing a form to change its action" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:80 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:82 msgid "By default, submitting the form redirects visitors to a *Thank you* page. Use the :guilabel:`URL` field to send them to a different page. Alternatively, you can choose not to redirect and keep them on the form's page by selecting :guilabel:`Nothing` or :guilabel:`Show Message` in the :guilabel:`On Success` field." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:86 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:88 msgid "Fields" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:88 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:90 msgid "To add a new field to the form, navigate to the :guilabel:`Customize tab` and click the :guilabel:`+ Field` button next to the :guilabel:`Form` or :guilabel:`Field` section. To modify the new (or any other) field on the form, select the field, then use the options available in the :guilabel:`Field` section of the :guilabel:`Customize` tab. For example, you can:" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:93 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:95 msgid "Change the field :guilabel:`Type`." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:96 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:98 msgid "It is also possible to select an :guilabel:`Existing Field` from the database and use the data it contains. The fields available depend on the selected action. Property fields added to the database can also be used." msgstr "" @@ -7722,71 +8354,71 @@ msgstr "" msgid "All types of form fields" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:105 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:107 msgid "Some fields are visually similar, but the data entered must follow a specific format." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:107 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:109 msgid "Edit the field's :guilabel:`Label` and adapt its :guilabel:`Position`." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:108 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:110 msgid "Enable a field :guilabel:`Description`. Click the default description on the form to modify it." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:109 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:111 msgid "Add a :guilabel:`Placeholder` or :guilabel:`Default value`." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:110 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:112 msgid "Specify if the field is :guilabel:`Required`." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:111 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:113 msgid "Edit the field's :doc:`visibility ` settings." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:112 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:114 msgid "Add an :ref:`animation `." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:114 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:116 msgid "Once you have made the desired changes, click :guilabel:`Save`." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:117 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:119 msgid "Add an Odoo contact form on a non-Odoo website" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:119 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:121 msgid "You can display an Odoo contact form on another website using an iframe. To do so, follow these steps:" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:122 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:124 msgid "**Prepare the Odoo form:** Create a contact form on a page in Odoo Website and remove the :ref:`header design ` and the :ref:`footer design `. Make sure only the contact form remains on the page." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:125 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:127 msgid "**Generate an embeddable code:** Copy the URL of the Odoo form page and paste it into an iframe generator, such as `La Digitale.dev `_ or `iFrame Generator `_ . Adjust the width and height for proper display." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:129 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:131 msgid "**Add the embedded code to the non-Odoo website:** Open the relevant page’s HTML (in the code editor or CMS) and insert the embedded code where the form should be displayed." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:133 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:135 msgid "Example of an embedded code:" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:153 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:155 msgid "Embed code" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:155 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:157 msgid "Embedding code allows you to integrate content from third-party services into a page, such as videos from YouTube, maps from Google Maps, social media posts from Instagram, etc." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:158 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:160 msgid "After adding the block to a page, click the block, then go to the :guilabel:`Customize` tab and click :guilabel:`Edit`. Replace the placeholder code with your custom embed code." msgstr "" @@ -7794,23 +8426,23 @@ msgstr "" msgid "Add the link to the embedded code you want to point to" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:165 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:167 msgid "Do not copy/paste code you do not understand, as it could put your data at risk." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:170 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:172 msgid "Move, switch, or delete a building block" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:172 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:174 msgid "Pull the turquoise borders on the block to reduce or increase the space at the top or bottom of it." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:174 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:176 msgid "Change the block order by clicking :icon:`fa-chevron-up` (:guilabel:`chevron up`) or :icon:`fa-chevron-down` (:guilabel:`chevron down`) and move the block on the page by clicking :icon:`fa-arrows` (:guilabel:`arrows`). When you have multiple :ref:`columns `, move a column to the left or right by clicking :icon:`fa-chevron-left` (:guilabel:`chevron left`) or :icon:`fa-chevron-right` (:guilabel:`chevron right`)." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:181 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:183 msgid "To delete a block, click :icon:`fa-trash` (:guilabel:`trash`)." msgstr "" @@ -7818,35 +8450,35 @@ msgstr "" msgid "Extend margins on building block" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:187 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:189 msgid "Quickly change the block category by clicking :icon:`fa-exchange` (:guilabel:`exchange`)." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:192 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:194 msgid "Edit a building block" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:194 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:196 msgid "To edit the content of a building block, click on it and go to the :guilabel:`Customize` tab. Available customization options vary depending on the type of block selected." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:198 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:200 msgid ":doc:`Web design elements `" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:199 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:201 msgid ":doc:`Visibility `" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:202 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:204 msgid "Background" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:204 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:206 msgid "To modify the background of a building block, select the block, go to the :guilabel:`Customize` tab, and click the color dot or another :guilabel:`Background` option. You can change the color and/or add an image, video, and/or shape. Once you've selected a shape, new fields appear to allow you to customize the shape." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:210 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:212 msgid "Position an element (image, text, etc.) behind or in front of another one by using the :guilabel:`Send to back` or :guilabel:`Bring to front` icons." msgstr "" @@ -7854,7 +8486,7 @@ msgstr "" msgid "Change block position" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:216 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:218 msgid "To resize a block, click and drag the dots around its edges to adjust it as needed." msgstr "" @@ -7862,23 +8494,23 @@ msgstr "" msgid "Adapt block size" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:222 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:224 msgid ":doc:`General theme `" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:225 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:227 msgid "Layout: grid and columns" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:227 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:229 msgid "For most building blocks, you can choose between two layout styles: :ref:`grid ` or :ref:`columns (cols) `. To change the default layout style, click the block, go to the :guilabel:`Customize` tab, and set the :guilabel:`Layout` field to :guilabel:`Grid` or :guilabel:`Cols`." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:235 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:237 msgid "Grid" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:237 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:239 msgid "The :guilabel:`Grid` layout allows you to reposition and resize elements, such as images or text, by dragging and dropping them. When :guilabel:`Grid` is selected, additional options are available to :guilabel:`Add Elements` by clicking :guilabel:`Image`, :guilabel:`Text`, or :guilabel:`Button`." msgstr "" @@ -7886,67 +8518,67 @@ msgstr "" msgid "When the grid layout is selected, choose an image and drag and drop it where needed." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:247 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:249 msgid "Cols" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:249 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:251 msgid "Choosing the :guilabel:`Cols` layout allows you to determine the number of elements per line within the block. To do so, select the block to modify, click the dropdown next to the :guilabel:`Cols` field, and adjust the number. You can then modify a specific column's settings using the options in the :guilabel:`Column` section of the :guilabel:`Customize` tab." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:255 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:257 msgid "By default, :doc:`on mobile devices `, only one element (column) is visible per line to ensure that content remains easily readable and accessible on smaller screens. To adjust the value, click the :icon:`fa-mobile` (:guilabel:`mobile icon`) at the top of the website editor and adapt the number of columns. Shapes are hidden by default on mobiles." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:263 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:265 msgid "Duplicate a building block" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:265 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:267 msgid "To duplicate a building block, click the :icon:`fa-clone` (:guilabel:`duplicate`) icon at the top of the :guilabel:`Customize` tab. Once duplicated, the new block appears on the page beneath the original one." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:272 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:274 msgid "Save a custom building block" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:274 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:276 msgid "You can save a customized building block to reuse it elsewhere. To do so, select it, navigate to the :guilabel:`Customize` tab, and click the :icon:`fa-floppy-o` (:guilabel:`floppy disk`) icon. Click the :guilabel:`Save and reload` button in the popup to confirm saving your custom block." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:278 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:280 msgid "To add a saved building block to the page, navigate to the :guilabel:`Blocks` tab and drag and drop the :guilabel:`Custom` block from the :guilabel:`Categories` section. In the popup that opens, click the desired block in the :guilabel:`Custom` category." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:283 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:285 msgid "In the :guilabel:`Insert a block` popup, click :icon:`fa-pencil` (:guilabel:`edit`) to rename the custom block or :icon:`fa-trash` (:guilabel:`delete`) to delete it." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:289 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:291 msgid "Create an anchor link" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:291 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:293 msgid "Anchor links are hyperlinks that direct users to a **specific section** of a page. To create an anchor link for a block, follow these steps:" msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:294 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:296 msgid "Click :guilabel:`Edit` and select the block you want to link to." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:295 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:297 msgid "Click :icon:`fa-link` (:guilabel:`link`) at the top of the :guilabel:`Customize` tab." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:296 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:298 msgid "To edit the default anchor name, click :guilabel:`Edit` in the green popup message that opens." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:297 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:299 msgid "Replace the anchor name and click :guilabel:`Save & copy`." msgstr "" -#: ../../content/applications/websites/website/web_design/building_blocks.rst:299 +#: ../../content/applications/websites/website/web_design/building_blocks.rst:301 msgid "Once the anchor is saved, you can :ref:`link to it ` from anywhere on your website." msgstr ""